From 547157aaa195c39f239dd3a863d66a6d45185197 Mon Sep 17 00:00:00 2001 From: root Date: Fri, 16 Oct 2026 15:00:58 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20Web=20=E7=89=88=E4=B8=8A=E7=BA=BF=20foo?= =?UTF-8?q?tpr.linyux.cn=20=E2=80=94=E2=80=94=20=E7=99=BB=E5=BD=95?= =?UTF-8?q?=E9=A1=B5=20+=20=E6=8C=89=E7=94=A8=E6=88=B7=E9=9A=94=E7=A6=BB?= =?UTF-8?q?=E7=9A=84=E5=91=BD=E4=BB=A4=20API=20+=20=E9=9D=99=E6=80=81?= =?UTF-8?q?=E6=89=98=E7=AE=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .dockerignore | 7 + app/.factory-t2/footprints.db | Bin 0 -> 188416 bytes app/.factory-t3/footprints.db | Bin 0 -> 217088 bytes app/.factory-test/footprints.db | Bin 0 -> 188416 bytes app/server/db.mjs | 89 ++++-- app/src/components/auth/LoginPage.tsx | 87 +++++ app/src/components/layout/AppShell.tsx | 15 +- app/src/lib/api.ts | 52 ++- sync-server/Dockerfile | 13 +- sync-server/docker-compose.caddy.yml | 4 +- sync-server/docker-compose.yml | 4 +- sync-server/schema.sql | 215 +++++++++++++ sync-server/src/app-commands.mjs | 3 + sync-server/src/index.mjs | 87 ++++- .../www/assets/DashboardPage-6WjCreWK.js | 1 + sync-server/www/assets/GradesPage-F7CyPrhz.js | 6 + .../www/assets/RecordsPage-DRvqAGwI.js | 6 + .../www/assets/TaxonomyPage-B15FwZVO.js | 1 + sync-server/www/assets/TypesPage-CxfVqKEr.js | 6 + sync-server/www/assets/card-CgBa5fs5.js | 1 + sync-server/www/assets/core-DV6XEvTN.js | 1 + sync-server/www/assets/echarts-BIWefrIc.js | 39 +++ sync-server/www/assets/index-BMVMeOX_.css | 1 + sync-server/www/assets/index-BunBoxtn.js | 296 ++++++++++++++++++ sync-server/www/assets/useChart-CwGNJ-9_.js | 1 + sync-server/www/icons/maskable-512.png | Bin 0 -> 21009 bytes sync-server/www/icons/pwa-192.png | Bin 0 -> 9482 bytes sync-server/www/icons/pwa-512.png | Bin 0 -> 25393 bytes sync-server/www/index.html | 17 + sync-server/www/manifest.webmanifest | 30 ++ sync-server/www/sw.js | 45 +++ 31 files changed, 967 insertions(+), 60 deletions(-) create mode 100644 .dockerignore create mode 100644 app/.factory-t2/footprints.db create mode 100644 app/.factory-t3/footprints.db create mode 100644 app/.factory-test/footprints.db create mode 100644 app/src/components/auth/LoginPage.tsx create mode 100644 sync-server/schema.sql create mode 100644 sync-server/src/app-commands.mjs create mode 100644 sync-server/www/assets/DashboardPage-6WjCreWK.js create mode 100644 sync-server/www/assets/GradesPage-F7CyPrhz.js create mode 100644 sync-server/www/assets/RecordsPage-DRvqAGwI.js create mode 100644 sync-server/www/assets/TaxonomyPage-B15FwZVO.js create mode 100644 sync-server/www/assets/TypesPage-CxfVqKEr.js create mode 100644 sync-server/www/assets/card-CgBa5fs5.js create mode 100644 sync-server/www/assets/core-DV6XEvTN.js create mode 100644 sync-server/www/assets/echarts-BIWefrIc.js create mode 100644 sync-server/www/assets/index-BMVMeOX_.css create mode 100644 sync-server/www/assets/index-BunBoxtn.js create mode 100644 sync-server/www/assets/useChart-CwGNJ-9_.js create mode 100644 sync-server/www/icons/maskable-512.png create mode 100644 sync-server/www/icons/pwa-192.png create mode 100644 sync-server/www/icons/pwa-512.png create mode 100644 sync-server/www/index.html create mode 100644 sync-server/www/manifest.webmanifest create mode 100644 sync-server/www/sw.js diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..6cf4e17 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,7 @@ +**/node_modules +**/.data +**/data +app/dist +app/src-tauri +tools/ +.git diff --git a/app/.factory-t2/footprints.db b/app/.factory-t2/footprints.db new file mode 100644 index 0000000000000000000000000000000000000000..2179786f4cc0db74e5360faf812ff5ea6c06152c GIT binary patch literal 188416 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 K&M`M};Qs^MOXsWr literal 0 HcmV?d00001 diff --git a/app/.factory-t3/footprints.db b/app/.factory-t3/footprints.db new file mode 100644 index 0000000000000000000000000000000000000000..f417b21476827d3c69809267721cff9562a596a0 GIT binary patch literal 217088 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 -?1UPJk2O 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%0A)&gU#d* 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 literal 0 HcmV?d00001 diff --git a/app/.factory-test/footprints.db b/app/.factory-test/footprints.db new file mode 100644 index 0000000000000000000000000000000000000000..eb61f81bf7a1292853220759c10e141f6fbfcf0e GIT binary patch literal 188416 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 F{T~tdOEmxh literal 0 HcmV?d00001 diff --git a/app/server/db.mjs b/app/server/db.mjs index 39f00c0..4c88d2e 100644 --- a/app/server/db.mjs +++ b/app/server/db.mjs @@ -11,33 +11,6 @@ export const DATA_DIR = process.env.DATA_DIR || path.join(__dirname, '..', '.dat export const ATT_DIR = path.join(DATA_DIR, 'attachments'); export const DB_PATH = path.join(DATA_DIR, 'footprints.db'); -let db = null; - -export function getDb() { - if (db) return db; - fs.mkdirSync(ATT_DIR, { recursive: true }); - db = new DatabaseSync(DB_PATH); - db.exec('PRAGMA foreign_keys = ON;'); - // 先补列(老库无 uuid/hlc 等列时,schema 中的索引会引用失败),再执行 schema,最后回填 - preMigrateColumns(db); - db.exec(fs.readFileSync(path.join(__dirname, '..', 'schema.sql'), 'utf8')); - migrateSync(db); - ensureBuiltin(db); - return db; -} - -export function buildSearchText(title, description, result, tags, extras) { - const extraFlat = Object.entries(extras || {}).map(([k, v]) => { - if (v == null) return ''; - if (typeof v === 'object') return Object.values(v).filter(Boolean).join(' '); - return String(v); - }).filter(Boolean); - return [title, description || '', result || '', (tags || []).join(' '), ...extraFlat] - .filter(Boolean).join('\n'); -} - -// ---------- 同步基础设施 ---------- - function getMeta(d, key) { const r = d.prepare('SELECT value FROM sync_state WHERE key=?').get(key); return r ? r.value : null; @@ -98,6 +71,15 @@ function getUuid(d, table, id) { return r ? r.uuid : null; } +export function buildSearchText(title, description, result, tags, extras) { + const extraFlat = Object.entries(extras || {}).map(([k, v]) => { + if (v == null) return ''; + if (typeof v === 'object') return Object.values(v).filter(Boolean).join(' '); + return String(v); + }).filter(Boolean); + return [title, description || '', result || '', (tags || []).join(' '), ...extraFlat] + .filter(Boolean).join('\n'); +} // 老库迁移:补列 + 回填 uuid/hlc/origin(幂等) const SYNC_TABLES = ['footprint', 'footprint_type', 'taxonomy', 'dimension', 'attachment', 'semester', 'course_grade', 'metric_def', 'saved_view', 'grade_band']; @@ -250,6 +232,31 @@ function ensureBuiltin(db) { } // ---------- 查询构建 ---------- + +function openDb(dbPath) { + fs.mkdirSync(path.join(path.dirname(dbPath), 'attachments'), { recursive: true }); + const d = new DatabaseSync(dbPath); + d.exec('PRAGMA foreign_keys = ON;'); + // 先补列(老库无 uuid/hlc 等列时,schema 中的索引会引用失败),再执行 schema,最后回填 + preMigrateColumns(d); + d.exec(fs.readFileSync(path.join(__dirname, '..', 'schema.sql'), 'utf8')); + migrateSync(d); + ensureBuiltin(d); + return d; +} + +// 按数据库路径创建一套应用命令(多用户/服务器模式:每个用户一个独立档案库) +export function createAppCommands(dbPath) { + const db = openDb(dbPath); + const DATA_DIR = path.dirname(dbPath); // 工厂内遮蔽顶层默认值:附件按用户目录 + function getDb() { + return db; + } + + +// ---------- 同步基础设施 ---------- + + const SORTS = { date_desc: "COALESCE(NULLIF(fp.start_date,''), substr(fp.created_at,1,10)) DESC, fp.id DESC", date_asc: "COALESCE(NULLIF(fp.start_date,''), substr(fp.created_at,1,10)) ASC, fp.id ASC", @@ -337,8 +344,7 @@ function mapRow(r) { }; } -function listFootprints(query) { - const d = getDb(); +function listFootprints(d, query) { const page = Math.max(1, query.page || 1); const pageSize = Math.min(2000, Math.max(1, query.page_size || 20)); const { joins, conds, params } = buildWhere(query); @@ -359,7 +365,7 @@ function listFootprints(query) { } // ---------- 命令处理 ---------- -export function handleCommand(cmd, payload) { + function handleCommand(cmd, payload) { const d = getDb(); switch (cmd) { @@ -496,7 +502,7 @@ export function handleCommand(cmd, payload) { } case 'footprint_list': - return listFootprints(payload.query || {}); + return listFootprints(d, payload.query || {}); case 'footprint_get': { const row = d.prepare(BASE_SELECT + ' AND fp.id=?').get(payload.id); @@ -563,7 +569,7 @@ export function handleCommand(cmd, payload) { } case 'timeline': { - const res = listFootprints({ ...(payload.query || {}), page_size: 2000, sort: 'date_desc' }); + const res = listFootprints(d, { ...(payload.query || {}), page_size: 2000, sort: 'date_desc' }); const groups = []; const byYear = new Map(); for (const row of res.items) { @@ -908,3 +914,22 @@ export function handleCommand(cmd, payload) { throw new Error('未知命令:' + cmd); } } + +// 工厂闭合 + return { handleCommand, getDb }; +} + +// ---------- 默认单例(开发桥接 / seed 兼容) ---------- +let defaultCommands = null; +function getDefault() { + if (!defaultCommands) defaultCommands = createAppCommands(DB_PATH); + return defaultCommands; +} + +export function getDb() { + return getDefault().getDb(); +} + +export function handleCommand(cmd, payload) { + return getDefault().handleCommand(cmd, payload); +} diff --git a/app/src/components/auth/LoginPage.tsx b/app/src/components/auth/LoginPage.tsx new file mode 100644 index 0000000..fadd96b --- /dev/null +++ b/app/src/components/auth/LoginPage.tsx @@ -0,0 +1,87 @@ +import { useState } from 'react'; +import { serverLogin, serverRegister } from '@/lib/api'; +import { Button, Field, Input } from '@/components/ui'; + +function LogoMark() { + return ( + + + + + + ); +} + +export function LoginPage({ onAuthed }: { onAuthed: () => void }) { + const [mode, setMode] = useState<'login' | 'register'>('login'); + const [username, setUsername] = useState(''); + const [password, setPassword] = useState(''); + const [invite, setInvite] = useState(''); + const [error, setError] = useState(''); + const [busy, setBusy] = useState(false); + + const submit = async () => { + if (!username.trim() || !password) { setError('请填写账号与密码'); return; } + setBusy(true); + setError(''); + try { + if (mode === 'login') { + await serverLogin(username.trim(), password); + } else { + if (!invite.trim()) throw new Error('请填写邀请码'); + await serverRegister(username.trim(), password, invite.trim()); + } + onAuthed(); + } catch (e) { + setError((e as Error).message); + } finally { + setBusy(false); + } + }; + + return ( +
+
+
+ +
足迹
+
FOOTPRINTS
+
+ +
+ + +
+ +
+ + setUsername(e.target.value)} placeholder="3-32 位字母数字-_" onKeyDown={e => { if (e.key === 'Enter') void submit(); }} /> + + + setPassword(e.target.value)} placeholder="至少 8 位" onKeyDown={e => { if (e.key === 'Enter') void submit(); }} /> + + {mode === 'register' && ( + + setInvite(e.target.value)} placeholder="邀请码" onKeyDown={e => { if (e.key === 'Enter') void submit(); }} /> + + )} + {error &&
{error}
} + +

数据按账号隔离存储 · 未注册用户请联系管理员获取邀请码

+
+
+
+ ); +} \ No newline at end of file diff --git a/app/src/components/layout/AppShell.tsx b/app/src/components/layout/AppShell.tsx index c85ca2e..b3e0a67 100644 --- a/app/src/components/layout/AppShell.tsx +++ b/app/src/components/layout/AppShell.tsx @@ -1,12 +1,25 @@ -import { useState } from 'react'; +import { useEffect, useState } from 'react'; import { Outlet } from 'react-router-dom'; import { Sidebar } from './Sidebar'; import { Header } from './Header'; import { ToastProvider } from '@/components/ui'; +import { LoginPage } from '@/components/auth/LoginPage'; +import { isLocalMode } from '@/lib/api'; export function AppShell() { + const [authed, setAuthed] = useState(() => isLocalMode()); const [navOpen, setNavOpen] = useState(false); + useEffect(() => { + const h = () => setAuthed(false); + window.addEventListener('fp-auth-required', h); + return () => window.removeEventListener('fp-auth-required', h); + }, []); + + if (!authed) { + return setAuthed(true)} />; + } + return (
diff --git a/app/src/lib/api.ts b/app/src/lib/api.ts index 4ae3e36..ad47a44 100644 --- a/app/src/lib/api.ts +++ b/app/src/lib/api.ts @@ -6,16 +6,58 @@ import type { const isTauri = typeof window !== 'undefined' && '__TAURI_INTERNALS__' in window; +const TOKEN_KEY = 'fp-token'; +export function getToken() { return localStorage.getItem(TOKEN_KEY); } +export function setToken(t: string) { localStorage.setItem(TOKEN_KEY, t); } +export function clearToken() { localStorage.removeItem(TOKEN_KEY); } +export const isLocalMode = () => isTauri || !getToken(); + +export interface ServerSession { token: string; user_id: string; device_id: string; device_name: string; } + +export async function serverLogin(username: string, password: string): Promise { + const res = await fetch('/auth/login', { + method: 'POST', headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify({ username, password, device_name: 'Web 浏览器' }) + }); + const json = await res.json(); + if (!json.ok) throw new Error(json.error || '登录失败'); + setToken(json.data.token); + return json.data; +} + +export async function serverRegister(username: string, password: string, invite_code: string): Promise { + const res = await fetch('/auth/register', { + method: 'POST', headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify({ username, password, invite_code, device_name: 'Web 浏览器' }) + }); + const json = await res.json(); + if (!json.ok) throw new Error(json.error || '注册失败'); + setToken(json.data.token); + return json.data; +} + +export interface MeInfo { user_id: string; username: string; device_id: string; } +export async function serverMe(): Promise { + const res = await fetch('/auth/me', { headers: { Authorization: 'Bearer ' + getToken() } }); + const json = await res.json(); + if (!json.ok) throw new Error(json.error || '会话失效'); + return json.data; +} + async function call(cmd: string, payload?: unknown): Promise { if (isTauri) { const { invoke } = await import('@tauri-apps/api/core'); return invoke(cmd, { payload: payload ?? {} }); } - const res = await fetch('/api/' + cmd, { - method: 'POST', - headers: { 'Content-Type': 'application/json' }, - body: JSON.stringify(payload ?? {}) - }); + const headers: Record = { 'Content-Type': 'application/json' }; + const token = getToken(); + if (token) headers.Authorization = 'Bearer ' + token; + const res = await fetch('/api/' + cmd, { method: 'POST', headers, body: JSON.stringify(payload ?? {}) }); + if (res.status === 401) { + clearToken(); + window.dispatchEvent(new CustomEvent('fp-auth-required')); + throw new Error('登录已过期,请重新登录'); + } const json = await res.json(); if (!res.ok || !json.ok) throw new Error(json.error || ('HTTP ' + res.status)); return json.data as T; diff --git a/sync-server/Dockerfile b/sync-server/Dockerfile index eaede11..667fa6a 100644 --- a/sync-server/Dockerfile +++ b/sync-server/Dockerfile @@ -1,5 +1,5 @@ -# 基础镜像可通过 build-arg 替换为镜像源,例如: -# docker compose build --build-arg NODE_IMAGE=docker.m.daocloud.io/library/node:24-alpine +# 构建上下文 = 仓库根(docker-compose 已配置) +# 基础镜像可 build-arg 切换镜像源 ARG NODE_IMAGE=node:24-alpine FROM ${NODE_IMAGE} @@ -9,8 +9,13 @@ ENV NODE_ENV=production ENV PORT=8788 ENV DATA_DIR=/data -COPY package.json ./ -COPY src ./src +COPY sync-server/package.json ./package.json +COPY sync-server/src ./src +COPY sync-server/schema.sql ./schema.sql +# 命令层同源:以仓库内数据层覆盖薄适配文件 +COPY app/server/db.mjs ./src/app-commands.mjs +# Web 前端(构建产物随仓库分发) +COPY sync-server/www ./www RUN mkdir -p /data diff --git a/sync-server/docker-compose.caddy.yml b/sync-server/docker-compose.caddy.yml index 524af2c..d0948bc 100644 --- a/sync-server/docker-compose.caddy.yml +++ b/sync-server/docker-compose.caddy.yml @@ -6,7 +6,9 @@ # 5. 注册自己的账号后,把 REGISTER_ENABLED 改为 false 并重新 up -d services: footprints-sync: - build: . + build: + context: .. + dockerfile: sync-server/Dockerfile container_name: footprints-sync # 无需 ports 映射:Caddy 通过容器网络按服务名直连(footprints-sync:8788) volumes: diff --git a/sync-server/docker-compose.yml b/sync-server/docker-compose.yml index e25f741..9f93b88 100644 --- a/sync-server/docker-compose.yml +++ b/sync-server/docker-compose.yml @@ -2,7 +2,9 @@ # 若你的服务器上已有 Caddy 反代架构,请改用 docker-compose.caddy.yml services: footprints-sync: - build: . + build: + context: .. + dockerfile: sync-server/Dockerfile container_name: footprints-sync ports: - "127.0.0.1:8788:8788" # 只绑定本机回环,交给反代;确认无反代时可改为 "8788:8788" diff --git a/sync-server/schema.sql b/sync-server/schema.sql new file mode 100644 index 0000000..0e22119 --- /dev/null +++ b/sync-server/schema.sql @@ -0,0 +1,215 @@ +-- Footprints 数据库 schema(开发桥接与 Rust 后端共用同一份) +-- v2:加入多端同步地基(uuid v7 / 软删除墓碑 / HLC / 变更日志) + +CREATE TABLE IF NOT EXISTS footprint_type ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + uuid TEXT, + name TEXT NOT NULL UNIQUE, + icon TEXT NOT NULL DEFAULT 'tag', + color TEXT NOT NULL DEFAULT '#64748b', + sort INTEGER NOT NULL DEFAULT 100, + form_template TEXT NOT NULL DEFAULT '[]', + is_builtin INTEGER NOT NULL DEFAULT 0, + closed INTEGER NOT NULL DEFAULT 0, + deleted_at TEXT, + origin TEXT, + hlc TEXT, + created_at TEXT NOT NULL DEFAULT (datetime('now','localtime')) +); + +CREATE TABLE IF NOT EXISTS taxonomy ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + uuid TEXT, + kind TEXT NOT NULL, + value TEXT NOT NULL, + color TEXT, + sort INTEGER NOT NULL DEFAULT 100, + is_builtin INTEGER NOT NULL DEFAULT 0, + deleted_at TEXT, + origin TEXT, + hlc TEXT, + UNIQUE(kind, value) +); + +CREATE TABLE IF NOT EXISTS dimension ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + uuid TEXT, + name TEXT NOT NULL UNIQUE, + color TEXT, + sort INTEGER NOT NULL DEFAULT 100, + deleted_at TEXT, + origin TEXT, + hlc TEXT +); + +CREATE TABLE IF NOT EXISTS footprint ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + uuid TEXT, + type_id INTEGER NOT NULL REFERENCES footprint_type(id), + title TEXT NOT NULL, + role TEXT, + level TEXT, + polarity TEXT NOT NULL DEFAULT 'positive', + award_grade TEXT, + rank INTEGER, + organizer TEXT, + start_date TEXT, + end_date TEXT, + status TEXT NOT NULL DEFAULT 'draft', + description TEXT NOT NULL DEFAULT '', + result TEXT NOT NULL DEFAULT '', + metrics TEXT NOT NULL DEFAULT '{}', + extras TEXT NOT NULL DEFAULT '{}', + group_id TEXT, + parent_id INTEGER, + tags TEXT NOT NULL DEFAULT '[]', + weight INTEGER NOT NULL DEFAULT 3, + search_text TEXT NOT NULL DEFAULT '', + deleted_at TEXT, + origin TEXT, + hlc TEXT, + created_at TEXT NOT NULL DEFAULT (datetime('now','localtime')), + updated_at TEXT NOT NULL DEFAULT (datetime('now','localtime')) +); + +CREATE TABLE IF NOT EXISTS footprint_dimension ( + footprint_id INTEGER NOT NULL REFERENCES footprint(id) ON DELETE CASCADE, + dimension_id INTEGER NOT NULL REFERENCES dimension(id) ON DELETE CASCADE, + PRIMARY KEY (footprint_id, dimension_id) +); + +CREATE TABLE IF NOT EXISTS attachment ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + uuid TEXT, + owner_type TEXT NOT NULL DEFAULT 'footprint', + owner_id INTEGER NOT NULL, + kind TEXT, + file_name TEXT NOT NULL, + mime TEXT, + size INTEGER NOT NULL DEFAULT 0, + rel_path TEXT NOT NULL, + sha256 TEXT, + taken_at TEXT, + deleted_at TEXT, + origin TEXT, + hlc TEXT, + created_at TEXT NOT NULL DEFAULT (datetime('now','localtime')) +); + +CREATE TABLE IF NOT EXISTS semester ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + uuid TEXT, + term TEXT NOT NULL UNIQUE, + gpa REAL, + rank INTEGER, + total_students INTEGER, + deleted_at TEXT, + origin TEXT, + hlc TEXT +); + +CREATE TABLE IF NOT EXISTS course_grade ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + uuid TEXT, + semester_id INTEGER NOT NULL REFERENCES semester(id) ON DELETE CASCADE, + course_name TEXT NOT NULL, + credit REAL NOT NULL DEFAULT 0, + score REAL, + grade_point REAL, + deleted_at TEXT, + origin TEXT, + hlc TEXT +); + +-- 成绩梯度(等级带):用户可配置;单科成绩按 min <= 分数 < max 定级(满分档闭区间) +CREATE TABLE IF NOT EXISTS grade_band ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + uuid TEXT, + label TEXT NOT NULL, + color TEXT NOT NULL DEFAULT '#64748b', + min REAL NOT NULL DEFAULT 0, + max REAL NOT NULL DEFAULT 100, + sort INTEGER NOT NULL DEFAULT 100, + deleted_at TEXT, + origin TEXT, + hlc TEXT +); + +CREATE TABLE IF NOT EXISTS metric_def ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + uuid TEXT, + key TEXT NOT NULL UNIQUE, + label TEXT NOT NULL, + unit TEXT, + agg TEXT NOT NULL DEFAULT 'sum', + section TEXT, + deleted_at TEXT, + origin TEXT, + hlc TEXT +); + +CREATE TABLE IF NOT EXISTS saved_view ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + uuid TEXT, + name TEXT NOT NULL UNIQUE, + filter TEXT NOT NULL DEFAULT '{}', + sort TEXT NOT NULL DEFAULT '{}', + is_default INTEGER NOT NULL DEFAULT 0, + deleted_at TEXT, + origin TEXT, + hlc TEXT, + updated_at TEXT NOT NULL DEFAULT (datetime('now','localtime')) +); + +-- ===== 同步基础设施 ===== +CREATE TABLE IF NOT EXISTS sync_state ( + key TEXT PRIMARY KEY, + value TEXT NOT NULL +); + +CREATE TABLE IF NOT EXISTS sync_oplog ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + table_name TEXT NOT NULL, + row_uuid TEXT NOT NULL, + op TEXT NOT NULL, + hlc TEXT NOT NULL, + synced_at TEXT +); + +CREATE VIRTUAL TABLE IF NOT EXISTS footprint_fts USING fts5( + search_text, + content='footprint', + content_rowid='id', + tokenize='trigram' +); + +CREATE TRIGGER IF NOT EXISTS footprint_ai AFTER INSERT ON footprint BEGIN + INSERT INTO footprint_fts(rowid, search_text) VALUES (new.id, new.search_text); +END; +CREATE TRIGGER IF NOT EXISTS footprint_ad AFTER DELETE ON footprint BEGIN + INSERT INTO footprint_fts(footprint_fts, rowid, search_text) + VALUES ('delete', old.id, old.search_text); +END; +CREATE TRIGGER IF NOT EXISTS footprint_au AFTER UPDATE OF search_text ON footprint BEGIN + INSERT INTO footprint_fts(footprint_fts, rowid, search_text) + VALUES ('delete', old.id, old.search_text); + INSERT INTO footprint_fts(rowid, search_text) VALUES (new.id, new.search_text); +END; + +CREATE INDEX IF NOT EXISTS idx_footprint_start ON footprint(start_date); +CREATE INDEX IF NOT EXISTS idx_footprint_type ON footprint(type_id); +CREATE INDEX IF NOT EXISTS idx_footprint_group ON footprint(group_id); +CREATE INDEX IF NOT EXISTS idx_footprint_hlc ON footprint(hlc); +CREATE INDEX IF NOT EXISTS idx_att_owner ON attachment(owner_type, owner_id); +CREATE INDEX IF NOT EXISTS idx_oplog_pending ON sync_oplog(synced_at); + +CREATE UNIQUE INDEX IF NOT EXISTS idx_footprint_uuid ON footprint(uuid); +CREATE UNIQUE INDEX IF NOT EXISTS idx_footprint_type_uuid ON footprint_type(uuid); +CREATE UNIQUE INDEX IF NOT EXISTS idx_taxonomy_uuid ON taxonomy(uuid); +CREATE UNIQUE INDEX IF NOT EXISTS idx_dimension_uuid ON dimension(uuid); +CREATE UNIQUE INDEX IF NOT EXISTS idx_attachment_uuid ON attachment(uuid); +CREATE UNIQUE INDEX IF NOT EXISTS idx_semester_uuid ON semester(uuid); +CREATE UNIQUE INDEX IF NOT EXISTS idx_course_grade_uuid ON course_grade(uuid); +CREATE UNIQUE INDEX IF NOT EXISTS idx_metric_def_uuid ON metric_def(uuid); +CREATE UNIQUE INDEX IF NOT EXISTS idx_saved_view_uuid ON saved_view(uuid); +CREATE UNIQUE INDEX IF NOT EXISTS idx_grade_band_uuid ON grade_band(uuid); diff --git a/sync-server/src/app-commands.mjs b/sync-server/src/app-commands.mjs new file mode 100644 index 0000000..199443c --- /dev/null +++ b/sync-server/src/app-commands.mjs @@ -0,0 +1,3 @@ +// 本地开发:直接引用仓库内的命令层(与桌面端单一数据源) +// Docker 构建:此文件被 app/server/db.mjs 覆盖(见 Dockerfile),保证同源 +export { createAppCommands } from '../../app/server/db.mjs'; diff --git a/sync-server/src/index.mjs b/sync-server/src/index.mjs index 7b2d630..dac7954 100644 --- a/sync-server/src/index.mjs +++ b/sync-server/src/index.mjs @@ -1,13 +1,39 @@ -// Footprints 自建同步服务(零依赖:node:http + node:sqlite) +// Footprints 自建同步 + Web 服务(零依赖:node:http + node:sqlite) import http from 'node:http'; +import fs from 'node:fs'; +import path from 'node:path'; +import { fileURLToPath } from 'node:url'; import { getDb } from './db.mjs'; +import { createAppCommands } from './app-commands.mjs'; import { register, login, authUser } from './auth.mjs'; import { push, pull } from './sync.mjs'; import { upload, download } from './attachments.mjs'; +const __dirname = path.dirname(fileURLToPath(import.meta.url)); const PORT = Number(process.env.PORT || 8788); +const WWW_DIR = process.env.WWW_DIR || path.join(__dirname, '..', 'www'); +const USERS_DIR = path.join(process.env.DATA_DIR || path.join(__dirname, '..', 'data'), 'users'); const REGISTER_ENABLED = (process.env.REGISTER_ENABLED ?? 'true') === 'true'; -const MAX_BODY = 160 * 1024 * 1024; // 160MB(附件 Base64 余量) +const MAX_BODY = 160 * 1024 * 1024; // 160MB + +const MIME = { + '.html': 'text/html; charset=utf-8', '.js': 'text/javascript; charset=utf-8', + '.css': 'text/css; charset=utf-8', '.svg': 'image/svg+xml', '.png': 'image/png', + '.ico': 'image/x-icon', '.json': 'application/json', '.webp': 'image/webp', + '.webmanifest': 'application/manifest+json', '.woff2': 'font/woff2', '.txt': 'text/plain; charset=utf-8' +}; + +// 按用户惰性创建命令集(每个用户一个独立 SQLite 档案库) +const userCommands = new Map(); +function commandsFor(userId) { + let c = userCommands.get(userId); + if (!c) { + fs.mkdirSync(USERS_DIR, { recursive: true }); + c = createAppCommands(path.join(USERS_DIR, userId + '.db')); + userCommands.set(userId, c); + } + return c; +} const server = http.createServer(async (req, res) => { const url = new URL(req.url, 'http://localhost'); @@ -38,7 +64,7 @@ const server = http.createServer(async (req, res) => { return send(200, true, login(body)); } - // ---- 管理(X-Admin-Token,设置 ADMIN_TOKEN 环境变量后启用)---- + // ---- 管理(X-Admin-Token)---- if (req.method === 'GET' && route === '/admin/users') { const expect = process.env.ADMIN_TOKEN; if (!expect || req.headers['x-admin-token'] !== expect) { @@ -55,12 +81,17 @@ const server = http.createServer(async (req, res) => { return send(200, true, { total: users.length, users }); } - // ---- 同步(需鉴权)---- - if (route.startsWith('/sync/') || route.startsWith('/auth/')) { + // ---- 同步与 Web API(鉴权区) ---- + if (route.startsWith('/sync/') || route.startsWith('/api/') || route.startsWith('/auth/')) { let auth; try { auth = authUser(req); } catch (e) { return send(e.code || 401, false, e.message); } + if (req.method === 'GET' && route === '/auth/me') { + const row = getDb().prepare('SELECT id, username FROM users WHERE id=?').get(auth.user_id); + return send(200, true, { user_id: auth.user_id, username: row?.username ?? '', device_id: auth.device_id }); + } + if (req.method === 'POST' && route === '/sync/push') { const body = await readJson(req); return send(200, true, push(auth.user_id, body.changes)); @@ -78,8 +109,7 @@ const server = http.createServer(async (req, res) => { if (!file) return send(404, false, '附件不存在'); res.writeHead(200, { 'Content-Type': file.mime || 'application/octet-stream', - 'Content-Length': file.buf.length, - 'Content-Disposition': 'attachment; filename="blob"' + 'Content-Length': file.buf.length }); return res.end(file.buf); } @@ -88,13 +118,37 @@ const server = http.createServer(async (req, res) => { const changes = db.prepare('SELECT COUNT(*) AS c FROM changes WHERE user_id=?').get(auth.user_id).c; const att = db.prepare('SELECT COUNT(*) AS c, COALESCE(SUM(size),0) AS bytes FROM attachments WHERE user_id=?').get(auth.user_id); return send(200, true, { - user_id: auth.user_id, - device_id: auth.device_id, - total_changes: changes, - attachments: att.c, - attachment_bytes: att.bytes + user_id: auth.user_id, device_id: auth.device_id, + total_changes: changes, attachments: att.c, attachment_bytes: att.bytes }); } + + // Web 应用命令层:/api/(与桌面端同一契约,按用户隔离的档案库) + if (req.method === 'POST' && route.startsWith('/api/')) { + const cmd = route.slice(5); + if (!cmd || cmd.includes('/')) return send(404, false, 'not found'); + const body = await readJson(req); + const data = commandsFor(auth.user_id).handleCommand(cmd, body); + return send(200, true, data); + } + } + + // ---- 静态前端(www/,指纹资源长缓存,index 禁缓存)---- + if (req.method === 'GET' && fs.existsSync(WWW_DIR)) { + let p = route === '/' ? '/index.html' : decodeURIComponent(route); + const abs = path.join(WWW_DIR, path.normalize(p).replace(/^([.][.][\\/])+/, '')); + if (abs.startsWith(WWW_DIR) && fs.existsSync(abs) && fs.statSync(abs).isFile()) { + res.writeHead(200, { + 'Content-Type': MIME[path.extname(abs).toLowerCase()] || 'application/octet-stream', + 'Cache-Control': p.startsWith('/assets/') ? 'public, max-age=31536000, immutable' : 'no-cache' + }); + return res.end(fs.readFileSync(abs)); + } + const indexHtml = path.join(WWW_DIR, 'index.html'); + if (fs.existsSync(indexHtml)) { + res.writeHead(200, { 'Content-Type': 'text/html; charset=utf-8', 'Cache-Control': 'no-cache' }); + return res.end(fs.readFileSync(indexHtml)); + } } return send(404, false, 'not found'); @@ -107,10 +161,10 @@ function readJson(req) { return new Promise((resolve, reject) => { let size = 0; const chunks = []; - req.on('data', c => { - size += c.length; + req.on('data', chunk => { + size += chunk.length; if (size > MAX_BODY) { reject(new Error('请求体过大')); req.destroy(); return; } - chunks.push(c); + chunks.push(chunk); }); req.on('end', () => { try { resolve(chunks.length ? JSON.parse(Buffer.concat(chunks).toString('utf8')) : {}); } @@ -123,5 +177,6 @@ function readJson(req) { getDb(); server.listen(PORT, '0.0.0.0', () => { console.log('[footprints-sync] listening on 0.0.0.0:' + PORT); - console.log('[footprints-sync] data dir:', process.env.DATA_DIR || 'data'); + console.log('[footprints-sync] data dir:', process.env.DATA_DIR || path.join(__dirname, '..', 'data')); + console.log('[footprints-sync] web dir:', WWW_DIR, fs.existsSync(WWW_DIR) ? '(已托管)' : '(未部署前端)'); }); diff --git a/sync-server/www/assets/DashboardPage-6WjCreWK.js b/sync-server/www/assets/DashboardPage-6WjCreWK.js new file mode 100644 index 0000000..141941a --- /dev/null +++ b/sync-server/www/assets/DashboardPage-6WjCreWK.js @@ -0,0 +1 @@ +import{r as g,e as v,j as t,S as j,s as S}from"./index-BunBoxtn.js";import{C as c,a as d,b as x}from"./card-CgBa5fs5.js";import{u as N,i as u,a as m}from"./useChart-CwGNJ-9_.js";import{u as k,i as w,a as C,b as L,c as R,d as $,e as z,f as T}from"./echarts-BIWefrIc.js";k([w,C,L,R,$,z,T]);function q(){const[l,n]=g.useState(""),i=N(),e=v({queryKey:["stats",l||void 0],queryFn:()=>S(l?Number(l):void 0)}).data,p=u("2"),r=u("3"),h=m(()=>({grid:{left:34,right:12,top:14,bottom:24},tooltip:{trigger:"axis"},xAxis:{type:"category",data:(e==null?void 0:e.monthly.map(a=>a.ym.slice(2)))??[],axisLine:{lineStyle:{color:r}},axisTick:{show:!1},axisLabel:{color:r,fontSize:10}},yAxis:{type:"value",splitLine:{lineStyle:{color:"rgba(128,138,155,0.15)"}},axisLabel:{color:r,fontSize:10}},series:[{type:"bar",data:(e==null?void 0:e.monthly.map(a=>a.count))??[],barMaxWidth:18,itemStyle:{color:"#3056d3",borderRadius:[3,3,0,0]}}]}),[e,i]),b=m(()=>{const a=((e==null?void 0:e.by_type)??[]).filter(s=>s.count>0);return{tooltip:{trigger:"item"},legend:{orient:"vertical",right:4,top:"middle",textStyle:{color:p,fontSize:11},itemWidth:10,itemHeight:10},series:[{type:"pie",radius:["48%","72%"],center:["34%","50%"],label:{show:!1},data:a.map(s=>({name:s.label,value:s.count,itemStyle:{color:s.color||"#64748b"}}))}]}},[e,i]),y=m(()=>{const a=((e==null?void 0:e.by_level)??[]).filter(s=>s.count>0).slice().reverse();return{grid:{left:64,right:24,top:8,bottom:22},tooltip:{trigger:"axis"},xAxis:{type:"value",splitLine:{lineStyle:{color:"rgba(128,138,155,0.15)"}},axisLabel:{color:r,fontSize:10}},yAxis:{type:"category",data:a.map(s=>s.label),axisLine:{show:!1},axisTick:{show:!1},axisLabel:{color:p,fontSize:11}},series:[{type:"bar",data:a.map(s=>({value:s.count,itemStyle:{color:s.color||"#3056d3",borderRadius:[0,3,3,0]}})),barMaxWidth:14}]}},[e,i]),f=((e==null?void 0:e.metrics)??[]).slice(0,3);return t.jsxs("div",{className:"mx-auto max-w-[1080px] px-6 py-5",children:[t.jsxs("div",{className:"mb-4 flex flex-wrap items-center justify-between gap-3",children:[t.jsxs("div",{className:"flex flex-wrap gap-3",children:[t.jsx(o,{label:"总记录",value:(e==null?void 0:e.total)??0}),t.jsx(o,{label:l?l+" 年新增":"本年新增",value:(e==null?void 0:e.total_this_year)??0}),t.jsx(o,{label:"附件总数",value:(e==null?void 0:e.attachment_total)??0}),f.map(a=>t.jsx(o,{label:a.label,value:a.value,unit:a.unit??""},a.key))]}),t.jsx(j,{className:"w-[120px]",value:l,onChange:a=>n(a.target.value),options:[{value:"",label:"全部年份"},...((e==null?void 0:e.years)??[]).map(a=>({value:String(a),label:a+" 年"}))]})]}),!(e!=null&&e.metrics.length)&&t.jsx("div",{className:"mb-4 rounded-md border border-dashed border-line px-4 py-2 text-[12px] text-ink-3",children:"提示:在「统计」配置中注册指标(如志愿时长、读书本数),带单位的数值字段即可在此量化展示。"}),t.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-4",children:[t.jsxs(c,{children:[t.jsx(d,{title:"近 12 个月活跃度"}),t.jsx(x,{children:t.jsx("div",{ref:h,className:"h-[220px]"})})]}),t.jsxs(c,{children:[t.jsx(d,{title:"类型分布"}),t.jsx(x,{children:t.jsx("div",{ref:b,className:"h-[220px]"})})]}),t.jsxs(c,{className:"col-span-2",children:[t.jsx(d,{title:"级别分布"}),t.jsx(x,{children:t.jsx("div",{ref:y,className:"h-[200px]"})})]})]})]})}function o({label:l,value:n,unit:i}){return t.jsxs("div",{className:"min-w-[120px] rounded-lg border border-line bg-surface px-4 py-3 shadow-card",children:[t.jsx("div",{className:"text-[12px] text-ink-3",children:l}),t.jsxs("div",{className:"num mt-0.5 text-[22px] font-semibold leading-tight text-ink-1",children:[n,i&&t.jsx("span",{className:"ml-1 text-[12px] font-normal text-ink-3",children:i})]})]})}export{q as DashboardPage}; diff --git a/sync-server/www/assets/GradesPage-F7CyPrhz.js b/sync-server/www/assets/GradesPage-F7CyPrhz.js new file mode 100644 index 0000000..faf94ab --- /dev/null +++ b/sync-server/www/assets/GradesPage-F7CyPrhz.js @@ -0,0 +1,6 @@ +import{c as K,e as I,j as e,E as O,t as $,u as k,b as S,r as u,f as y,v as H,w as W,B as g,P as q,C as Q,x as J,y as T,z as U,A as N,k as G,T as E,I as j,D as Y,F as C,H as B,J as V}from"./index-BunBoxtn.js";import{C as f,a as z,b as _}from"./card-CgBa5fs5.js";import{u as X,i as M,a as L}from"./useChart-CwGNJ-9_.js";import{u as Z,i as ee,b as se,a as te,c as ae,d as re,e as ne,f as le}from"./echarts-BIWefrIc.js";/** + * @license lucide-react v0.475.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const ie=[["rect",{width:"16",height:"20",x:"4",y:"2",rx:"2",key:"1nb95v"}],["line",{x1:"8",x2:"16",y1:"6",y2:"6",key:"x4nwl0"}],["line",{x1:"16",x2:"16",y1:"14",y2:"18",key:"wjye3r"}],["path",{d:"M16 10h.01",key:"1m94wz"}],["path",{d:"M12 10h.01",key:"1nrarc"}],["path",{d:"M8 10h.01",key:"19clt8"}],["path",{d:"M12 14h.01",key:"1etili"}],["path",{d:"M8 14h.01",key:"6423bh"}],["path",{d:"M12 18h.01",key:"mhygvu"}],["path",{d:"M8 18h.01",key:"lrp35t"}]],D=K("Calculator",ie);Z([ee,se,te,ae,re,ne,le]);function oe(a){const s=/^(\d{4})-(\d{4})/.exec(a);return s?s[1]+"~"+s[2]+" 学年":"其他学期"}function ce(a){const s=a.filter(i=>i.grade_point!=null&&i.credit>0);if(!s.length)return null;const t=s.reduce((i,o)=>i+o.credit,0),l=s.reduce((i,o)=>i+o.grade_point*o.credit,0);return Math.round(l/t*100)/100}function ye(){const a=X(),s=I({queryKey:["grades"],queryFn:V}),t=s.data,l=M("2"),i=M("3"),o=L(()=>{const n=((t==null?void 0:t.overall.tier_dist)??[]).filter(r=>r.count>0);return{tooltip:{trigger:"item"},legend:{orient:"vertical",right:8,top:"middle",itemGap:10,textStyle:{color:l,fontSize:11},itemWidth:10,itemHeight:10},series:[{type:"pie",radius:["48%","72%"],center:["34%","50%"],label:{show:!1},data:n.map(r=>({name:r.label,value:r.count,itemStyle:{color:r.color}}))}]}},[t,a]),m=L(()=>{const n=(t==null?void 0:t.overall.gpa_trend)??[];return{grid:{left:8,right:8,top:36,bottom:6,containLabel:!0},tooltip:{trigger:"axis"},legend:{top:0,left:"center",itemGap:16,textStyle:{color:l,fontSize:11},itemWidth:14,itemHeight:8},xAxis:{type:"category",data:n.map(r=>r.term),axisLine:{lineStyle:{color:i}},axisTick:{show:!1},axisLabel:{color:i,fontSize:10}},yAxis:[{type:"value",min:0,max:100,splitLine:{lineStyle:{color:"rgba(128,138,155,0.15)"}},axisLabel:{color:i,fontSize:10}},{type:"value",min:0,max:5,splitLine:{show:!1},axisLabel:{color:i,fontSize:10}}],series:[{name:"加权平均分",type:"bar",barMaxWidth:18,itemStyle:{color:"#3056d3",borderRadius:[3,3,0,0]},data:n.map(r=>r.avg)},{name:"绩点",type:"line",yAxisIndex:1,smooth:!0,symbolSize:6,itemStyle:{color:"#d97706"},lineStyle:{width:2},data:n.map(r=>r.gpa)}]}},[t,a]);if(s.isLoading)return e.jsx("div",{className:"py-16 text-center text-[13px] text-ink-3",children:"加载中…"});const p=[...(t==null?void 0:t.semesters)??[]].sort((n,r)=>r.term.localeCompare(n.term));return e.jsxs("div",{className:"mx-auto max-w-[1080px] px-6 py-5",children:[e.jsxs("div",{className:"mb-4 flex flex-wrap gap-3",children:[e.jsx(w,{label:"总学分",value:(t==null?void 0:t.overall.credits)??0}),e.jsx(w,{label:"加权平均分",value:(t==null?void 0:t.overall.avg)!=null?t.overall.avg:"—"}),e.jsx(w,{label:"已录课程",value:(t==null?void 0:t.overall.courses)??0}),e.jsx(w,{label:"学期数",value:(t==null?void 0:t.semesters.length)??0})]}),e.jsxs("div",{className:"mb-4 grid grid-cols-1 lg:grid-cols-2 gap-4",children:[e.jsxs(f,{children:[e.jsx(z,{title:"单科成绩等级分布"}),e.jsx(_,{children:e.jsx("div",{ref:o,className:"h-[220px]"})})]}),e.jsxs(f,{children:[e.jsx(z,{title:"学期趋势(加权平均分 / 绩点)"}),e.jsx(_,{children:e.jsx("div",{ref:m,className:"h-[220px]"})})]})]}),e.jsx(xe,{bands:(t==null?void 0:t.bands)??[]}),e.jsxs("div",{className:"mb-3 mt-5 flex items-center justify-between",children:[e.jsx("h2",{className:"text-[14px] font-semibold text-ink-1",children:"学年学科成绩"}),e.jsx(he,{})]}),p.length?e.jsx("div",{className:"flex flex-col gap-5",children:de(p).map(([n,r])=>e.jsxs("section",{children:[e.jsx("div",{className:"mb-2 text-[12px] font-medium text-ink-3",children:n}),e.jsx("div",{className:"flex flex-col gap-3",children:r.map(h=>e.jsx(ue,{sem:h},h.id))})]},n))}):e.jsx(f,{children:e.jsx(O,{icon:e.jsx($,{size:36,strokeWidth:1.5}),title:"暂无学期成绩",description:"新增一个学期(如 2024-2025-1),再录入各科成绩。"})})]})}function de(a){const s=new Map;for(const t of a){const l=oe(t.term);s.has(l)||s.set(l,[]),s.get(l).push(t)}return[...s.entries()]}function w({label:a,value:s}){return e.jsxs("div",{className:"min-w-[128px] flex-1 max-w-[220px] rounded-lg border border-line bg-surface px-4 py-3 shadow-card",children:[e.jsx("div",{className:"text-[12px] text-ink-3",children:a}),e.jsx("div",{className:"num mt-0.5 text-[22px] font-semibold leading-tight text-ink-1",children:s})]})}function xe({bands:a}){const s=k(),t=S(),[l,i]=u.useState(null),[o,m]=u.useState(null),p=y({mutationFn:H,onSuccess:()=>{t("success","梯度已保存"),s.invalidateQueries({queryKey:["grades"]})},onError:r=>t("error",r.message)}),n=y({mutationFn:W,onSuccess:()=>{s.invalidateQueries({queryKey:["grades"]}),m(null)}});return e.jsxs(f,{children:[e.jsx(z,{title:"成绩梯度",extra:e.jsx("span",{className:"text-[11px] text-ink-3",children:"按 分数 ≥ min 且 < max 定级,满分档含上限"})}),e.jsxs(_,{className:"p-0",children:[e.jsx("div",{className:"divide-y divide-line",children:a.map(r=>e.jsx(P,{band:r,onSave:h=>p.mutate(h),onDelete:()=>m(r)},r.id))}),e.jsx("div",{className:"border-t border-line px-4 py-2.5",children:l?e.jsx(P,{band:l,isNew:!0,onChange:i,onSave:()=>{p.mutate(l),i(null)},onCancel:()=>i(null)}):e.jsxs(g,{size:"sm",variant:"secondary",onClick:()=>{var r;return i({id:0,label:"",color:"#3056d3",min:0,max:60,sort:(((r=a.at(-1))==null?void 0:r.sort)??0)+10})},children:[e.jsx(q,{size:13})," 添加等级"]})})]}),e.jsx(Q,{open:!!o,title:"删除等级",content:o?"确定删除「"+o.label+"」吗?已录成绩将不再显示该等级。":"",onCancel:()=>m(null),onOk:()=>o&&n.mutate(o.id)})]})}function P({band:a,onSave:s,onDelete:t,onChange:l,onCancel:i,isNew:o}){const[m,p]=u.useState(a),n=o&&l?m:a,r=d=>{const x={...n,...d};l?l(x):p(x)},h=o||JSON.stringify({...n,id:0})!==JSON.stringify({...a,id:0});return e.jsxs("div",{className:"flex flex-wrap items-center gap-2 px-4 py-2",children:[e.jsx("input",{type:"color",value:n.color,onChange:d=>r({color:d.target.value}),className:"size-5 shrink-0 cursor-pointer rounded border border-line bg-surface","aria-label":"颜色"}),e.jsx(j,{className:"w-[96px]",value:n.label,onChange:d=>r({label:d.target.value}),placeholder:"等级名"}),e.jsx("span",{className:"text-[12px] text-ink-3",children:"分数"}),e.jsx(j,{type:"number",className:"num w-[72px]",value:String(n.min),onChange:d=>r({min:Number(d.target.value)})}),e.jsx("span",{className:"text-[12px] text-ink-3",children:"至"}),e.jsx(j,{type:"number",className:"num w-[72px]",value:String(n.max),onChange:d=>r({max:Number(d.target.value)})}),o?e.jsxs(e.Fragment,{children:[e.jsx(g,{size:"sm",variant:"primary",onClick:()=>s==null?void 0:s(n),children:"添加"}),e.jsx(g,{size:"sm",variant:"ghost",onClick:()=>i==null?void 0:i(),children:"取消"})]}):e.jsxs("div",{className:"ml-auto flex gap-1.5",children:[e.jsx(g,{size:"sm",variant:h?"primary":"secondary",disabled:!h,onClick:()=>s==null?void 0:s(n),children:"保存"}),e.jsx(g,{size:"icon-sm",variant:"ghost","aria-label":"删除等级",onClick:()=>t==null?void 0:t(),children:e.jsx(E,{size:13})})]})]})}function ue({sem:a}){const s=k(),t=S(),[l,i]=u.useState(null),[o,m]=u.useState(null),[p,n]=u.useState(!1),r=()=>void s.invalidateQueries({queryKey:["grades"]}),h=y({mutationFn:J,onSuccess:()=>{r(),m(null)}}),d=y({mutationFn:()=>{const c=ce(a.courses);if(c==null)throw new Error("请先为课程填写绩点");return T({id:a.id,term:a.term,gpa:c,rank:a.rank??null,total_students:a.total_students??null})},onSuccess:()=>{t("success","绩点已按课程自动计算"),r()},onError:c=>t("error",c.message)}),x=y({mutationFn:()=>U(a.id),onSuccess:()=>{r(),n(!1),t("success","学期已删除")}});return e.jsxs(f,{children:[e.jsx(z,{title:a.term,extra:e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsxs(N,{color:"var(--brand-text)",children:["绩点 ",a.gpa??"—"]}),a.rank!=null&&e.jsxs(N,{color:"var(--success)",children:["排名 ",a.rank,"/",a.total_students??"—"]}),e.jsxs(N,{color:"var(--text-3)",children:["均分 ",a.stats.avg??"—"]}),e.jsxs(N,{color:"var(--text-3)",children:[a.stats.credits," 学分"]}),e.jsxs(g,{size:"sm",variant:"ghost",onClick:()=>d.mutate(),disabled:d.isPending,children:[e.jsx(D,{size:13})," 自动绩点"]}),e.jsx(g,{size:"icon-sm",variant:"ghost","aria-label":"编辑学期",onClick:()=>n(!0),children:e.jsx(G,{size:13})})]})}),e.jsx(_,{className:"p-0",children:e.jsx("div",{className:"overflow-x-auto",children:e.jsxs("table",{className:"w-full border-collapse text-[13px]",children:[e.jsx("thead",{children:e.jsx("tr",{children:["课程","学分","分数","等级","绩点",""].map(c=>e.jsx("th",{className:"border-b border-line bg-surface-2 px-3 py-2 text-left text-[12px] font-semibold text-ink-3",children:c},c))})}),e.jsxs("tbody",{children:[a.courses.map(c=>l===c.id?e.jsx(pe,{sem:a,course:c,onDone:()=>i(null)},c.id):e.jsxs("tr",{className:"transition-colors hover:bg-surface-2",children:[e.jsx("td",{className:"border-b border-line px-3 py-2 font-medium text-ink-1",children:c.course_name}),e.jsx("td",{className:"num border-b border-line px-3 py-2 text-ink-2",children:c.credit}),e.jsx("td",{className:"num border-b border-line px-3 py-2",children:c.score!=null?e.jsx("span",{className:"font-medium",children:c.score}):e.jsx("span",{className:"text-ink-3",children:"未录入"})}),e.jsx("td",{className:"border-b border-line px-3 py-2",children:c.band?e.jsx(N,{color:c.band.color,children:c.band.label}):e.jsx("span",{className:"text-ink-3",children:"—"})}),e.jsx("td",{className:"num border-b border-line px-3 py-2 text-ink-2",children:c.grade_point??"—"}),e.jsx("td",{className:"border-b border-line px-3 py-2",children:e.jsxs("div",{className:"flex justify-end gap-1",children:[e.jsx(g,{size:"icon-sm",variant:"ghost","aria-label":"编辑课程",onClick:()=>i(c.id),children:e.jsx(G,{size:13})}),e.jsx(g,{size:"icon-sm",variant:"ghost","aria-label":"删除课程",className:"text-ink-3 hover:text-danger",onClick:()=>m(c),children:e.jsx(E,{size:13})})]})})]},c.id)),e.jsx(me,{sem:a})]})]})})}),e.jsx(Q,{open:!!o,title:"删除课程",content:o?"确定删除「"+o.course_name+"」吗?":"",onCancel:()=>m(null),onOk:()=>o&&h.mutate(o.id)}),e.jsx(R,{open:p,sem:a,onClose:()=>n(!1),deleteMut:x})]})}function me({sem:a}){const s=k(),t=S(),[l,i]=u.useState(""),[o,m]=u.useState(""),[p,n]=u.useState(""),[r,h]=u.useState(""),d=y({mutationFn:()=>B({semester_id:a.id,course_name:l,credit:Number(o)||0,score:p===""?null:Number(p),grade_point:r===""?null:Number(r)}),onSuccess:()=>{i(""),m(""),n(""),h(""),s.invalidateQueries({queryKey:["grades"]})},onError:x=>t("error",x.message)});return e.jsxs("tr",{className:"bg-surface-2",children:[e.jsx("td",{className:"px-3 py-2",children:e.jsx(j,{className:"h-7 w-[160px]",placeholder:"课程名称",value:l,onChange:x=>i(x.target.value)})}),e.jsx("td",{className:"px-3 py-2",children:e.jsx(j,{type:"number",step:"0.5",className:"num h-7 w-[64px]",placeholder:"0",value:o,onChange:x=>m(x.target.value)})}),e.jsx("td",{className:"px-3 py-2",children:e.jsx(j,{type:"number",className:"num h-7 w-[72px]",placeholder:"0-100",value:p,onChange:x=>n(x.target.value)})}),e.jsx("td",{className:"px-3 py-2 text-ink-3",children:"—"}),e.jsx("td",{className:"px-3 py-2",children:e.jsx(j,{type:"number",step:"0.1",className:"num h-7 w-[64px]",placeholder:"选填",value:r,onChange:x=>h(x.target.value)})}),e.jsx("td",{className:"px-3 py-2",children:e.jsxs(g,{size:"sm",variant:"secondary",disabled:!l.trim()||d.isPending,onClick:()=>d.mutate(),children:[e.jsx(q,{size:13})," 添加"]})})]})}function pe({sem:a,course:s,onDone:t}){const l=k(),i=S(),[o,m]=u.useState(s.course_name),[p,n]=u.useState(String(s.credit)),[r,h]=u.useState(s.score!=null?String(s.score):""),[d,x]=u.useState(s.grade_point!=null?String(s.grade_point):""),c=y({mutationFn:()=>B({id:s.id,semester_id:a.id,course_name:o,credit:Number(p)||0,score:r===""?null:Number(r),grade_point:d===""?null:Number(d)}),onSuccess:()=>{l.invalidateQueries({queryKey:["grades"]}),t()},onError:b=>i("error",b.message)});return e.jsxs("tr",{className:"bg-brand-subtle/40",children:[e.jsx("td",{className:"border-b border-line px-3 py-2",children:e.jsx(j,{className:"h-7 w-[160px]",value:o,onChange:b=>m(b.target.value)})}),e.jsx("td",{className:"border-b border-line px-3 py-2",children:e.jsx(j,{type:"number",step:"0.5",className:"num h-7 w-[64px]",value:p,onChange:b=>n(b.target.value)})}),e.jsx("td",{className:"border-b border-line px-3 py-2",children:e.jsx(j,{type:"number",className:"num h-7 w-[72px]",value:r,onChange:b=>h(b.target.value)})}),e.jsx("td",{className:"border-b border-line px-3 py-2 text-[12px] text-ink-3",children:"保存后按梯度定级"}),e.jsx("td",{className:"border-b border-line px-3 py-2",children:e.jsx(j,{type:"number",step:"0.1",className:"num h-7 w-[64px]",value:d,onChange:b=>x(b.target.value)})}),e.jsx("td",{className:"border-b border-line px-3 py-2",children:e.jsxs("div",{className:"flex justify-end gap-1.5",children:[e.jsx(g,{size:"sm",variant:"primary",onClick:()=>c.mutate(),disabled:c.isPending,children:"保存"}),e.jsx(g,{size:"sm",variant:"ghost",onClick:t,children:"取消"})]})})]})}function he(){const[a,s]=u.useState(!1);return e.jsxs(e.Fragment,{children:[e.jsxs(g,{variant:"primary",size:"md",onClick:()=>s(!0),children:[e.jsx(q,{size:14})," 新增学期"]}),e.jsx(R,{open:a,sem:null,onClose:()=>s(!1)})]})}function R({open:a,sem:s,onClose:t,deleteMut:l}){const i=k(),o=S(),[m,p]=u.useState((s==null?void 0:s.term)??""),[n,r]=u.useState((s==null?void 0:s.gpa)!=null?String(s.gpa):""),[h,d]=u.useState((s==null?void 0:s.rank)!=null?String(s.rank):""),[x,c]=u.useState((s==null?void 0:s.total_students)!=null?String(s.total_students):""),[b,A]=u.useState(""),F=y({mutationFn:()=>T({id:s==null?void 0:s.id,term:m,gpa:n===""?null:Number(n),rank:h===""?null:Number(h),total_students:x===""?null:Number(x)}),onSuccess:()=>{o("success",s?"学期已更新":"学期已新增"),i.invalidateQueries({queryKey:["grades"]}),t()},onError:v=>A(v.message)});return e.jsx(Y,{open:a,onClose:t,width:480,title:s?"编辑学期 · "+s.term:"新增学期",footer:e.jsxs(e.Fragment,{children:[b&&e.jsx("span",{className:"mr-auto text-[12px] text-danger",children:b}),s&&e.jsxs(g,{variant:"danger-ghost",className:"mr-auto",onClick:()=>l==null?void 0:l.mutate(),disabled:l==null?void 0:l.isPending,children:[e.jsx(E,{size:13})," 删除学期"]}),e.jsx(g,{variant:"secondary",onClick:t,children:"取消"}),e.jsx(g,{variant:"primary",onClick:()=>F.mutate(),disabled:F.isPending,children:"保存"})]}),children:e.jsxs("div",{className:"flex flex-col gap-3.5",children:[e.jsx(C,{label:"学期名称",required:!0,hint:"如 2024-2025-1",children:e.jsx(j,{value:m,onChange:v=>p(v.target.value),placeholder:"2024-2025-1"})}),e.jsxs("div",{className:"grid grid-cols-3 gap-3",children:[e.jsx(C,{label:"绩点",children:e.jsx(j,{type:"number",step:"0.01",className:"num",value:n,onChange:v=>r(v.target.value),placeholder:"选填"})}),e.jsx(C,{label:"排名",children:e.jsx(j,{type:"number",className:"num",value:h,onChange:v=>d(v.target.value),placeholder:"选填"})}),e.jsx(C,{label:"年级人数",children:e.jsx(j,{type:"number",className:"num",value:x,onChange:v=>c(v.target.value),placeholder:"选填"})})]}),e.jsxs("p",{className:"flex items-start gap-1.5 rounded-md bg-surface-2 px-3 py-2 text-[12px] text-ink-3",children:[e.jsx(D,{size:13,className:"mt-0.5 shrink-0"}),"绩点可手动填写,也可在卡片上点「自动绩点」按课程学分加权计算。"]})]})})}export{ye as GradesPage}; diff --git a/sync-server/www/assets/RecordsPage-DRvqAGwI.js b/sync-server/www/assets/RecordsPage-DRvqAGwI.js new file mode 100644 index 0000000..ca38fd8 --- /dev/null +++ b/sync-server/www/assets/RecordsPage-DRvqAGwI.js @@ -0,0 +1,6 @@ +import{c as re,j as e,a as u,r as t,u as oe,b as ce,d as de,e as C,f as ue,I as xe,S as m,B as b,P as Y,g as pe,L as me,G as ve,R as he,h as je,i as ge,k as fe,T as ye,E as be,l as Ne,m as ke,C as Se,n as we,o as Ce,p as Ee,s as qe,q as _e}from"./index-BunBoxtn.js";/** + * @license lucide-react v0.475.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const ze=[["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}],["circle",{cx:"19",cy:"12",r:"1",key:"1wjl8i"}],["circle",{cx:"5",cy:"12",r:"1",key:"1pcz8c"}]],Ie=re("Ellipsis",ze);function De({className:n,...a}){return e.jsx("div",{className:u("overflow-x-auto",n),...a})}function Te({className:n,...a}){return e.jsx("table",{className:u("w-full border-collapse text-[13px]",n),...a})}function i({className:n,...a}){return e.jsx("th",{className:u("sticky top-0 z-10 border-b border-line bg-surface-2 px-3 py-2 text-left text-[12px] font-semibold text-ink-3 whitespace-nowrap",n),...a})}function r({className:n,...a}){return e.jsx("td",{className:u("border-b border-line px-3 py-2 align-middle text-ink-1",n),...a})}function Pe({className:n,onClick:a,...l}){return e.jsx("tr",{className:u("group transition-colors",a&&"cursor-pointer hover:bg-surface-2",n),onClick:a,...l})}function Le({trigger:n,children:a,align:l="end",className:N}){const[c,x]=t.useState(!1),o=t.useRef(null);return t.useEffect(()=>{if(!c)return;const p=v=>{o.current&&!o.current.contains(v.target)&&x(!1)},d=v=>{v.key==="Escape"&&x(!1)};return document.addEventListener("mousedown",p),document.addEventListener("keydown",d),()=>{document.removeEventListener("mousedown",p),document.removeEventListener("keydown",d)}},[c]),e.jsxs("div",{className:"relative",ref:o,children:[e.jsx("div",{onClick:()=>x(p=>!p),children:n}),c&&e.jsx("div",{className:u("absolute z-40 mt-1 min-w-[160px] rounded-md border border-line bg-surface py-1 shadow-pop",l==="end"?"right-0":"left-0",N),children:typeof a=="function"?a(()=>x(!1)):a})]})}function Z({className:n,danger:a,...l}){return e.jsx("button",{className:u("flex w-full items-center gap-2 px-3 py-1.5 text-left text-[13px] transition-colors",a?"text-danger hover:bg-danger-subtle":"text-ink-1 hover:bg-surface-3",n),...l})}const H=20;function Re(){var O,B,F,M,G,A,W;const n=oe(),a=ce(),[l,N]=de(),[c,x]=t.useState(l.get("q")??""),[o,p]=t.useState(""),[d,v]=t.useState(""),[h,J]=t.useState(""),[j,U]=t.useState(""),[g,V]=t.useState(""),[E,X]=t.useState("date_desc"),[f,q]=t.useState(1),[$,_]=t.useState(null),[ee,k]=t.useState(!1),[y,z]=t.useState(null),[se,te]=t.useState(null),[ae,I]=t.useState(!1);t.useEffect(()=>{l.get("new")==="1"&&(_(null),k(!0),l.delete("new"),N(l,{replace:!0}))},[l,N]);const ne=C({queryKey:["types"],queryFn:Ce}),T=C({queryKey:["taxonomy-all"],queryFn:()=>Ee()}),le=C({queryKey:["stats",void 0],queryFn:()=>qe(void 0)}),P=t.useMemo(()=>({q:c||void 0,types:o?[Number(o)]:void 0,levels:h?[h]:void 0,roles:j?[j]:void 0,statuses:g?[g]:void 0,year:d?Number(d):void 0,sort:E,page:f,page_size:H}),[c,o,d,h,j,g,E,f]),S=C({queryKey:["footprints",P],queryFn:()=>_e(P)});t.useEffect(()=>{q(1)},[c,o,d,h,j,g]);const L=ue({mutationFn:s=>we(s),onSuccess:()=>{a("success","记录已删除"),n.invalidateQueries({queryKey:["footprints"]}),n.invalidateQueries({queryKey:["timeline"]}),n.invalidateQueries({queryKey:["stats"]}),z(null)}}),D=((O=S.data)==null?void 0:O.total)??0,Q=Math.max(1,Math.ceil(D/H)),R=()=>{_(null),k(!0)},K=s=>{_(s),k(!0)},ie=s=>{te(s),I(!0)};return e.jsxs("div",{className:"px-6 py-5",children:[e.jsxs("div",{className:"mb-3 flex flex-wrap items-center gap-2",children:[e.jsx(xe,{className:"w-[220px]",placeholder:"搜索标题、内容、结果、标签…",value:c,onChange:s=>x(s.target.value)}),e.jsx(m,{className:"w-[130px]",value:o,onChange:s=>p(s.target.value),options:[{value:"",label:"全部类型"},...(((B=ne.data)==null?void 0:B.items)??[]).map(s=>({value:String(s.id),label:s.name}))]}),e.jsx(m,{className:"w-[110px]",value:d,onChange:s=>v(s.target.value),options:[{value:"",label:"全部年份"},...(((F=le.data)==null?void 0:F.years)??[]).map(s=>({value:String(s),label:s+" 年"}))]}),e.jsx(m,{className:"w-[110px]",value:h,onChange:s=>J(s.target.value),options:[{value:"",label:"全部级别"},...(((M=T.data)==null?void 0:M.items)??[]).filter(s=>s.kind==="level").map(s=>({value:s.value,label:s.value}))]}),e.jsx(m,{className:"w-[100px]",value:j,onChange:s=>U(s.target.value),options:[{value:"",label:"全部角色"},...(((G=T.data)==null?void 0:G.items)??[]).filter(s=>s.kind==="role").map(s=>({value:s.value,label:s.value}))]}),e.jsx(m,{className:"w-[110px]",value:g,onChange:s=>V(s.target.value),options:[{value:"",label:"全部状态"},{value:"draft",label:"草稿"},{value:"ongoing",label:"进行中"},{value:"submitted",label:"已提交待果"},{value:"finished",label:"已完结"}]}),e.jsx(m,{className:"w-[130px]",value:E,onChange:s=>X(s.target.value),options:[{value:"date_desc",label:"时间从新到旧"},{value:"date_asc",label:"时间从旧到新"},{value:"updated_desc",label:"最近修改"},{value:"weight_desc",label:"重要度优先"}]}),e.jsxs("span",{className:"num ml-auto text-[12px] text-ink-3",children:["共 ",D," 条"]}),e.jsxs(b,{variant:"primary",size:"md",onClick:R,children:[e.jsx(Y,{size:14}),"新建"]})]}),e.jsxs("div",{className:"rounded-lg border border-line bg-surface shadow-card",children:[e.jsxs(De,{className:"max-h-[calc(100vh-260px)] overflow-y-auto",children:[e.jsxs(Te,{children:[e.jsx("thead",{children:e.jsxs("tr",{children:[e.jsx(i,{className:"w-[32%]",children:"标题"}),e.jsx(i,{children:"类型"}),e.jsx(i,{children:"时间"}),e.jsx(i,{children:"级别"}),e.jsx(i,{children:"奖等"}),e.jsx(i,{children:"角色"}),e.jsx(i,{children:"状态"}),e.jsx(i,{className:"text-right",children:"附件"}),e.jsx(i,{children:"更新时间"}),e.jsx(i,{className:"w-[52px]"})]})}),e.jsx("tbody",{children:(((A=S.data)==null?void 0:A.items)??[]).map(s=>e.jsxs(Pe,{onClick:()=>ie(s.id),children:[e.jsx(r,{children:e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:"size-2 shrink-0 rounded-full",style:{backgroundColor:s.type_color}}),e.jsx("span",{className:"truncate font-medium",title:s.title,children:s.title})]})}),e.jsx(r,{className:"whitespace-nowrap text-ink-2",children:s.type_name}),e.jsx(r,{className:"num whitespace-nowrap text-ink-2",children:pe(s.start_date,s.end_date)}),e.jsx(r,{children:e.jsx(me,{level:s.level})}),e.jsx(r,{children:e.jsx(ve,{grade:s.award_grade})}),e.jsx(r,{children:e.jsx(he,{role:s.role})}),e.jsx(r,{children:e.jsx(je,{status:s.status})}),e.jsx(r,{className:"num text-right text-ink-2",children:s.attachment_count>0?s.attachment_count:""}),e.jsx(r,{className:"num whitespace-nowrap text-ink-3",children:ge(s.updated_at)}),e.jsx(r,{onClick:w=>w.stopPropagation(),children:e.jsx(Le,{trigger:e.jsx(b,{variant:"ghost",size:"icon-sm","aria-label":"更多操作",children:e.jsx(Ie,{size:15})}),children:w=>e.jsxs(e.Fragment,{children:[e.jsxs(Z,{onClick:()=>{w(),K(s.id)},children:[e.jsx(fe,{size:13})," 编辑"]}),e.jsxs(Z,{danger:!0,onClick:()=>{w(),z(s)},children:[e.jsx(ye,{size:13})," 删除"]})]})})})]},s.id))})]}),!S.isLoading&&!((W=S.data)!=null&&W.items.length)&&e.jsx(be,{title:"没有匹配的记录",description:"调整筛选条件,或新建一条记录。",action:e.jsxs(b,{variant:"primary",onClick:R,children:[e.jsx(Y,{size:14})," 新建记录"]})})]}),D>0&&e.jsxs("div",{className:"flex h-11 items-center justify-end gap-3 border-t border-line px-4 text-[12px] text-ink-3",children:[e.jsxs("span",{className:"num",children:["第 ",f," / ",Q," 页"]}),e.jsx(b,{variant:"secondary",size:"sm",disabled:f<=1,onClick:()=>q(s=>s-1),children:"上一页"}),e.jsx(b,{variant:"secondary",size:"sm",disabled:f>=Q,onClick:()=>q(s=>s+1),children:"下一页"})]})]}),e.jsx(Ne,{open:ae,onClose:()=>I(!1),footprintId:se,onEdit:s=>{I(!1),K(s)}}),e.jsx(ke,{open:ee,onClose:()=>k(!1),footprintId:$}),e.jsx(Se,{open:!!y,title:"删除记录",content:y?"确定删除「"+y.title+"」吗?该操作不可撤销。":"",onCancel:()=>z(null),onOk:()=>y&&L.mutate(y.id),loading:L.isPending})]})}export{Re as RecordsPage}; diff --git a/sync-server/www/assets/TaxonomyPage-B15FwZVO.js b/sync-server/www/assets/TaxonomyPage-B15FwZVO.js new file mode 100644 index 0000000..2f78d10 --- /dev/null +++ b/sync-server/www/assets/TaxonomyPage-B15FwZVO.js @@ -0,0 +1 @@ +import{j as e,u as k,b as Q,e as q,r as g,f as h,Q as F,U as w,B as j,T as z,I as D,P as T,C as E,V as M,W as B,p as P,X as V}from"./index-BunBoxtn.js";import{C as K,a as S}from"./card-CgBa5fs5.js";const f=["#3056d3","#7c3aed","#0891b2","#16a34a","#d97706","#dc2626","#db2777","#64748b"];function H(){return e.jsxs("div",{className:"mx-auto max-w-[1080px] px-6 py-5",children:[e.jsx("p",{className:"mb-4 text-[12px] text-ink-3",children:"字典驱动录入表单中的下拉选项;维度是自定义的成长分类轴,一条记录可挂多个维度。"}),e.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-4",children:[e.jsx(C,{kind:"level",title:"级别字典",description:"国际级、国家级、省市级等,可按学校口径增改"}),e.jsx(C,{kind:"role",title:"角色字典",description:"主导、核心、参加等参与角色"}),e.jsx(I,{})]})]})}function C({kind:r,title:m,description:N}){var v;const l=k(),o=Q(),n=(((v=q({queryKey:["taxonomy-all"],queryFn:()=>P()}).data)==null?void 0:v.items)??[]).filter(s=>s.kind===r).sort((s,x)=>s.sort-x.sort),[a,c]=g.useState(""),[u,d]=g.useState(null),t=h({mutationFn:F,onSuccess:()=>void l.invalidateQueries({queryKey:["taxonomy-all"]})}),i=h({mutationFn:s=>w(s),onSuccess:()=>{l.invalidateQueries({queryKey:["taxonomy-all"]}),o("success","已删除"),d(null)},onError:s=>{o("error",s.message),d(null)}});return e.jsxs(K,{children:[e.jsx(S,{title:m,extra:e.jsx("span",{className:"text-[11px] text-ink-3",children:N})}),e.jsxs("div",{className:"flex flex-col gap-1 p-3",children:[n.map((s,x)=>e.jsxs("div",{className:"flex items-center gap-2 rounded-md px-1 py-1 hover:bg-surface-2",children:[e.jsx("input",{type:"color",value:s.color??f[x%f.length],className:"size-5 cursor-pointer rounded border border-line bg-surface",onChange:y=>t.mutate({id:s.id,kind:r,value:s.value,color:y.target.value,sort:s.sort})}),e.jsx("input",{className:"h-7 flex-1 rounded border border-transparent bg-transparent px-1.5 text-[13px] text-ink-1 hover:border-line focus:border-brand focus:outline-none",value:s.value,onChange:()=>{},onBlur:y=>{const b=y.target.value.trim();b&&b!==s.value&&t.mutate({id:s.id,kind:r,value:b,color:s.color,sort:s.sort})},defaultValue:s.value},s.value),e.jsxs("span",{className:"num w-14 text-right text-[11px] text-ink-3",children:["#",s.sort]}),s.is_builtin?e.jsx("span",{className:"w-7 text-center text-[11px] text-ink-3",children:"内置"}):e.jsx(j,{variant:"ghost",size:"icon-sm","aria-label":"删除",onClick:()=>d({id:s.id,value:s.value}),children:e.jsx(z,{size:13})})]},s.id)),e.jsxs("div",{className:"mt-1 flex items-center gap-2 border-t border-line pt-2",children:[e.jsx(D,{className:"flex-1",placeholder:"新增条目,回车或点击按钮",value:a,onChange:s=>c(s.target.value),onKeyDown:s=>{var x;s.key==="Enter"&&a.trim()&&(t.mutate({kind:r,value:a.trim(),sort:(((x=n.at(-1))==null?void 0:x.sort)??0)+10}),c(""))}}),e.jsxs(j,{size:"sm",variant:"secondary",disabled:!a.trim(),onClick:()=>{var s;t.mutate({kind:r,value:a.trim(),sort:(((s=n.at(-1))==null?void 0:s.sort)??0)+10}),c("")},children:[e.jsx(T,{size:13})," 添加"]})]})]}),e.jsx(E,{open:!!u,title:"删除字典条目",content:u?"确定删除「"+u.value+"」吗?":"",onCancel:()=>d(null),onOk:()=>u&&i.mutate(u.id)})]})}function I(){var d;const r=k(),m=Q(),l=[...((d=q({queryKey:["dimensions"],queryFn:V}).data)==null?void 0:d.items)??[]].sort((t,i)=>t.sort-i.sort),[o,p]=g.useState(""),[n,a]=g.useState(null),c=h({mutationFn:M,onSuccess:()=>void r.invalidateQueries({queryKey:["dimensions"]})}),u=h({mutationFn:t=>B(t),onSuccess:()=>{r.invalidateQueries({queryKey:["dimensions"]}),m("success","已删除"),a(null)},onError:t=>{m("error",t.message),a(null)}});return e.jsxs(K,{children:[e.jsx(S,{title:"成长维度",extra:e.jsx("span",{className:"text-[11px] text-ink-3",children:"如:学业深造 / 职业发展 / 兴趣生活"})}),e.jsxs("div",{className:"flex flex-col gap-1 p-3",children:[l.map((t,i)=>e.jsxs("div",{className:"flex items-center gap-2 rounded-md px-1 py-1 hover:bg-surface-2",children:[e.jsx("span",{className:"size-3 rounded-full",style:{backgroundColor:t.color??f[i%f.length]}}),e.jsx("input",{className:"h-7 flex-1 rounded border border-transparent bg-transparent px-1.5 text-[13px] text-ink-1 hover:border-line focus:border-brand focus:outline-none",defaultValue:t.name,onBlur:v=>{const s=v.target.value.trim();s&&s!==t.name&&c.mutate({id:t.id,name:s,color:t.color,sort:t.sort})}},t.name),e.jsx(j,{variant:"ghost",size:"icon-sm","aria-label":"删除",onClick:()=>a({id:t.id,name:t.name}),children:e.jsx(z,{size:13})})]},t.id)),!l.length&&e.jsx("div",{className:"py-2 text-center text-[12px] text-ink-3",children:"尚未配置维度"}),e.jsxs("div",{className:"mt-1 flex items-center gap-2 border-t border-line pt-2",children:[e.jsx(D,{className:"flex-1",placeholder:"新增维度名称",value:o,onChange:t=>p(t.target.value),onKeyDown:t=>{var i;t.key==="Enter"&&o.trim()&&(c.mutate({name:o.trim(),sort:(((i=l.at(-1))==null?void 0:i.sort)??0)+10}),p(""))}}),e.jsxs(j,{size:"sm",variant:"secondary",disabled:!o.trim(),onClick:()=>{var t;c.mutate({name:o.trim(),sort:(((t=l.at(-1))==null?void 0:t.sort)??0)+10}),p("")},children:[e.jsx(T,{size:13})," 添加"]})]})]}),e.jsx(E,{open:!!n,title:"删除维度",content:n?"确定删除「"+n.name+"」吗?记录与该维度的关联将一并移除。":"",onCancel:()=>a(null),onOk:()=>n&&u.mutate(n.id)})]})}export{H as TaxonomyPage}; diff --git a/sync-server/www/assets/TypesPage-CxfVqKEr.js b/sync-server/www/assets/TypesPage-CxfVqKEr.js new file mode 100644 index 0000000..24a66af --- /dev/null +++ b/sync-server/www/assets/TypesPage-CxfVqKEr.js @@ -0,0 +1,6 @@ +import{c as P,u as Q,b as z,e as B,r as i,f as T,j as e,B as p,P as F,K as q,A as E,k as D,T as I,C as K,M as L,D as G,F as r,I as j,N as H,S as R,O as W,o as J}from"./index-BunBoxtn.js";import{C as U}from"./card-CgBa5fs5.js";/** + * @license lucide-react v0.475.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const V=[["path",{d:"M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49",key:"ct8e1f"}],["path",{d:"M14.084 14.158a3 3 0 0 1-4.242-4.242",key:"151rxh"}],["path",{d:"M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143",key:"13bj9a"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]],X=P("EyeOff",V),_=["#3056d3","#7c3aed","#0891b2","#0f766e","#16a34a","#65a30d","#d97706","#dc2626","#db2777","#64748b"],Y=[{value:"text",label:"单行文本"},{value:"textarea",label:"多行文本"},{value:"number",label:"数值"},{value:"date",label:"日期"},{value:"select",label:"单选"},{value:"multiselect",label:"多选"},{value:"link",label:"关联记录"}];function te(){var y;const s=Q(),h=z(),k=B({queryKey:["types"],queryFn:J}),[u,d]=i.useState(null),[m,o]=i.useState(null),f=T({mutationFn:l=>W(l.id),onSuccess:()=>{h("success","类型已删除"),s.invalidateQueries({queryKey:["types"]}),o(null)},onError:l=>{h("error",l.message),o(null)}}),v=((y=k.data)==null?void 0:y.items)??[];return e.jsxs("div",{className:"mx-auto max-w-[1080px] px-6 py-5",children:[e.jsxs("div",{className:"mb-4 flex items-center justify-between",children:[e.jsx("p",{className:"text-[12px] text-ink-3",children:"每个类型可配置专属字段模板,录入表单、详情页与检索列随之联动。内置类型不可删除,可改名或停用。"}),e.jsxs(p,{variant:"primary",onClick:()=>d("new"),children:[e.jsx(F,{size:14})," 新建类型"]})]}),e.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-3",children:v.map(l=>e.jsxs(U,{className:"flex items-center gap-3 px-4 py-3.5",children:[e.jsx("div",{className:"flex size-9 shrink-0 items-center justify-center rounded-md",style:{backgroundColor:l.color+"18",color:l.color},children:e.jsx(q,{name:l.icon,color:l.color,size:17})}),e.jsxs("div",{className:"min-w-0 flex-1",children:[e.jsxs("div",{className:"flex items-center gap-1.5",children:[e.jsx("span",{className:"truncate text-[13.5px] font-medium text-ink-1",children:l.name}),l.is_builtin&&e.jsx(E,{color:"var(--text-3)",children:"内置"}),l.closed&&e.jsx(E,{color:"var(--warning)",children:"已停用"})]}),e.jsxs("div",{className:"num text-[12px] text-ink-3",children:[l.usage_count??0," 条记录 · ",l.form_template.length," 个类型字段"]})]}),e.jsxs("div",{className:"flex shrink-0 gap-1",children:[e.jsx(p,{variant:"ghost",size:"icon-sm","aria-label":"编辑",onClick:()=>d(l),children:e.jsx(D,{size:14})}),!l.is_builtin&&e.jsx(p,{variant:"ghost",size:"icon-sm","aria-label":"删除",onClick:()=>o(l),children:e.jsx(I,{size:14})})]})]},l.id))}),u&&e.jsx(Z,{source:u==="new"?null:u,onClose:()=>d(null),onSaved:()=>{d(null),s.invalidateQueries({queryKey:["types"]})}}),e.jsx(K,{open:!!m,title:"删除类型",content:m?"确定删除类型「"+m.name+"」吗?已有该类型的记录需先迁移。":"",onCancel:()=>o(null),onOk:()=>m&&f.mutate(m)})]})}function Z({source:s,onClose:h,onSaved:k}){const u=z(),[d,m]=i.useState((s==null?void 0:s.name)??""),[o,f]=i.useState((s==null?void 0:s.icon)??"tag"),[v,y]=i.useState((s==null?void 0:s.color)??_[0]),[l,M]=i.useState(String((s==null?void 0:s.sort)??100)),[w,A]=i.useState((s==null?void 0:s.closed)??!1),[g,N]=i.useState((s==null?void 0:s.form_template)??[]),[C,O]=i.useState(""),S=T({mutationFn:()=>{if(!d.trim())throw new Error("请填写类型名称");const t=new Set;for(const a of g){if(!a.label.trim()||!a.key.trim())throw new Error("字段标签与键名均不能为空");if(t.has(a.key))throw new Error("字段键名重复:"+a.key);if(t.add(a.key),(a.widget==="select"||a.widget==="multiselect")&&!(Array.isArray(a.options)&&a.options.length))throw new Error("字段「"+a.label+"」需要配置选项")}return L({id:s==null?void 0:s.id,name:d.trim(),icon:o,color:v,sort:Number(l)||100,form_template:g,closed:w})},onSuccess:()=>{u("success",s?"类型已更新":"类型已创建"),k()},onError:t=>O(t.message)}),c=(t,a)=>N(n=>n.map((x,b)=>b===t?{...x,...a}:x));return e.jsx(G,{open:!0,onClose:h,width:720,title:s?"编辑类型 · "+s.name:"新建类型",footer:e.jsxs(e.Fragment,{children:[C&&e.jsx("span",{className:"mr-auto text-[12px] text-danger",children:C}),e.jsx(p,{variant:"secondary",onClick:h,children:"取消"}),e.jsx(p,{variant:"primary",onClick:()=>S.mutate(),disabled:S.isPending,children:"保存"})]}),children:e.jsxs("div",{className:"flex flex-col gap-4",children:[e.jsxs("div",{className:"grid grid-cols-[1fr_120px_100px] gap-3",children:[e.jsx(r,{label:"名称",required:!0,children:e.jsx(j,{value:d,onChange:t=>m(t.target.value),placeholder:"如:学科竞赛"})}),e.jsx(r,{label:"排序",children:e.jsx(j,{type:"number",className:"num",value:l,onChange:t=>M(t.target.value)})}),e.jsx(r,{label:"停用",children:e.jsxs("button",{type:"button",onClick:()=>A(t=>!t),className:"flex h-8 items-center gap-1.5 rounded-md border px-2.5 text-[12px] transition-colors "+(w?"border-warning bg-warning-subtle text-warning":"border-line bg-surface text-ink-2"),children:[e.jsx(X,{size:13}),w?"已停用":"启用中"]})})]}),e.jsx(r,{label:"图标",children:e.jsx("div",{className:"flex flex-wrap gap-1",children:H.map(t=>e.jsx("button",{type:"button",title:t.label,className:"flex size-8 items-center justify-center rounded-md border transition-colors "+(o===t.name?"border-brand bg-brand-subtle text-brand-text":"border-line bg-surface text-ink-3 hover:border-line-strong"),onClick:()=>f(t.name),children:e.jsx(q,{name:t.name,size:15,color:o===t.name?"var(--brand-text)":void 0})},t.name))})}),e.jsx(r,{label:"颜色",children:e.jsx("div",{className:"flex gap-1.5",children:_.map(t=>e.jsx("button",{type:"button",className:"size-6 rounded-md border-2 transition-transform "+(v===t?"scale-110 border-ink-1":"border-transparent hover:scale-105"),style:{backgroundColor:t},onClick:()=>y(t),"aria-label":t},t))})}),e.jsxs("div",{className:"border-t border-line pt-3",children:[e.jsxs("div",{className:"mb-2 flex items-center justify-between",children:[e.jsxs("span",{className:"text-[12px] font-semibold text-ink-2",children:["字段模板(",g.length,")"]}),e.jsxs(p,{size:"sm",variant:"secondary",onClick:()=>N(t=>[...t,{key:"field_"+(t.length+1),label:"",widget:"text"}]),children:[e.jsx(F,{size:13})," 添加字段"]})]}),e.jsxs("div",{className:"flex flex-col gap-2",children:[g.map((t,a)=>e.jsxs("div",{className:"rounded-md border border-line bg-surface-2 p-2.5",children:[e.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-[1fr_130px_120px_1fr_28px] items-end gap-2",children:[e.jsx(r,{label:"标签",children:e.jsx(j,{value:t.label,onChange:n=>c(a,{label:n.target.value}),placeholder:"显示名"})}),e.jsx(r,{label:"键名",children:e.jsx(j,{value:t.key,onChange:n=>c(a,{key:n.target.value})})}),e.jsx(r,{label:"控件",children:e.jsx(R,{value:t.widget,onChange:n=>c(a,{widget:n.target.value}),options:Y})}),e.jsx(r,{label:t.widget==="number"?"单位":t.widget==="select"||t.widget==="multiselect"?"选项(逗号分隔)":"占位提示",children:e.jsx(j,{value:t.widget==="number"?t.unit??"":t.widget==="select"||t.widget==="multiselect"?Array.isArray(t.options)?t.options.join(","):"":t.placeholder??"",onChange:n=>{const x=n.target.value;t.widget==="number"?c(a,{unit:x}):t.widget==="select"||t.widget==="multiselect"?c(a,{options:x?x.split(/[,,]/).map(b=>b.trim()).filter(Boolean):[]}):c(a,{placeholder:x})}})}),e.jsx(p,{variant:"ghost",size:"icon-sm","aria-label":"删除字段",className:"mb-0.5",onClick:()=>N(n=>n.filter((x,b)=>b!==a)),children:e.jsx(I,{size:13})})]}),e.jsxs("label",{className:"mt-1.5 flex cursor-pointer items-center gap-1.5 text-[12px] text-ink-2",children:[e.jsx("input",{type:"checkbox",checked:!!t.required,onChange:n=>c(a,{required:n.target.checked})}),"必填",t.widget==="number"&&e.jsxs(e.Fragment,{children:[e.jsx("input",{type:"checkbox",className:"ml-2",checked:!!t.metric,onChange:n=>c(a,{metric:n.target.checked?t.key:void 0})}),"计入统计指标"]})]})]},a)),!g.length&&e.jsx("div",{className:"rounded-md border border-dashed border-line px-3 py-4 text-center text-[12px] text-ink-3",children:"该类型暂无专属字段,仅使用通用字段(标题、时间、级别、角色等)"})]})]})]})})}export{te as TypesPage}; diff --git a/sync-server/www/assets/card-CgBa5fs5.js b/sync-server/www/assets/card-CgBa5fs5.js new file mode 100644 index 0000000..d1082b7 --- /dev/null +++ b/sync-server/www/assets/card-CgBa5fs5.js @@ -0,0 +1 @@ +import{j as s,a}from"./index-BunBoxtn.js";function i({className:r,...e}){return s.jsx("div",{className:a("rounded-lg border border-line bg-surface shadow-card",r),...e})}function t({title:r,extra:e,className:n}){return s.jsxs("div",{className:a("flex min-h-11 flex-wrap items-center justify-between gap-2 border-b border-line px-4 py-1.5",n),children:[s.jsx("h3",{className:"text-[13px] font-semibold text-ink-1",children:r}),e&&s.jsx("div",{className:"flex flex-wrap items-center gap-2",children:e})]})}function c({className:r,...e}){return s.jsx("div",{className:a("p-4",r),...e})}export{i as C,t as a,c as b}; diff --git a/sync-server/www/assets/core-DV6XEvTN.js b/sync-server/www/assets/core-DV6XEvTN.js new file mode 100644 index 0000000..d8e9f58 --- /dev/null +++ b/sync-server/www/assets/core-DV6XEvTN.js @@ -0,0 +1 @@ +async function o(r,e={},n){return window.__TAURI_INTERNALS__.invoke(r,e,n)}export{o as invoke}; diff --git a/sync-server/www/assets/echarts-BIWefrIc.js b/sync-server/www/assets/echarts-BIWefrIc.js new file mode 100644 index 0000000..a51044e --- /dev/null +++ b/sync-server/www/assets/echarts-BIWefrIc.js @@ -0,0 +1,39 @@ +/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR +OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. +***************************************************************************** */var Ol=function(r,t){return Ol=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,i){e.__proto__=i}||function(e,i){for(var n in i)Object.prototype.hasOwnProperty.call(i,n)&&(e[n]=i[n])},Ol(r,t)};function N(r,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");Ol(r,t);function e(){this.constructor=r}r.prototype=t===null?Object.create(t):(e.prototype=t.prototype,new e)}var ym=(function(){function r(){this.firefox=!1,this.ie=!1,this.edge=!1,this.newEdge=!1,this.weChat=!1}return r})(),mm=(function(){function r(){this.browser=new ym,this.node=!1,this.wxa=!1,this.worker=!1,this.svgSupported=!1,this.touchEventsSupported=!1,this.pointerEventsSupported=!1,this.domSupported=!1,this.transformSupported=!1,this.transform3dSupported=!1,this.hasGlobalWindow=typeof window<"u"}return r})(),$=new mm;typeof wx=="object"&&typeof wx.getSystemInfoSync=="function"?($.wxa=!0,$.touchEventsSupported=!0):typeof document>"u"&&typeof self<"u"?$.worker=!0:!$.hasGlobalWindow||"Deno"in window?($.node=!0,$.svgSupported=!0):_m(navigator.userAgent,$);function _m(r,t){var e=t.browser,i=r.match(/Firefox\/([\d.]+)/),n=r.match(/MSIE\s([\d.]+)/)||r.match(/Trident\/.+?rv:(([\d.]+))/),a=r.match(/Edge?\/([\d.]+)/),o=/micromessenger/i.test(r);i&&(e.firefox=!0,e.version=i[1]),n&&(e.ie=!0,e.version=n[1]),a&&(e.edge=!0,e.version=a[1],e.newEdge=+a[1].split(".")[0]>18),o&&(e.weChat=!0),t.svgSupported=typeof SVGRect<"u",t.touchEventsSupported="ontouchstart"in window&&!e.ie&&!e.edge,t.pointerEventsSupported="onpointerdown"in window&&(e.edge||e.ie&&+e.version>=11),t.domSupported=typeof document<"u";var s=document.documentElement.style;t.transform3dSupported=(e.ie&&"transition"in s||e.edge||"WebKitCSSMatrix"in window&&"m11"in new WebKitCSSMatrix||"MozPerspective"in s)&&!("OTransition"in s),t.transformSupported=t.transform3dSupported||e.ie&&+e.version>=9}var Hu=12,Sm="sans-serif",Qr=Hu+"px "+Sm,wm=20,bm=100,xm="007LLmW'55;N0500LLLLLLLLLL00NNNLzWW\\\\WQb\\0FWLg\\bWb\\WQ\\WrWWQ000CL5LLFLL0LL**F*gLLLL5F0LF\\FFF5.5N";function Tm(r){var t={};if(typeof JSON>"u")return t;for(var e=0;e=0)s=o*e.length;else for(var l=0;l>1)%2;s.cssText=["position: absolute","visibility: hidden","padding: 0","margin: 0","border-width: 0","user-select: none","width:0","height:0",i[l]+":0",n[u]+":0",i[1-l]+":auto",n[1-u]+":auto",""].join("!important;"),r.appendChild(o),e.push(o)}return e}function Zm(r,t,e){for(var i=e?"invTrans":"trans",n=t[i],a=t.srcCoords,o=[],s=[],l=!0,u=0;u<4;u++){var f=r[u].getBoundingClientRect(),h=2*u,c=f.left,v=f.top;o.push(c,v),l=l&&a&&c===a[h]&&v===a[h+1],s.push(r[u].offsetLeft,r[u].offsetTop)}return l&&n?n:(t.srcCoords=o,t[i]=e?th(s,o):th(o,s))}function Gd(r){return r.nodeName.toUpperCase()==="CANVAS"}var qm=/([&<>"'])/g,Km={"&":"&","<":"<",">":">",'"':""","'":"'"};function Vt(r){return r==null?"":(r+"").replace(qm,function(t,e){return Km[e]})}var Qm=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,ys=[],Jm=$.browser.firefox&&+$.browser.version.split(".")[0]<39;function Vl(r,t,e,i){return e=e||{},i?rh(r,t,e):Jm&&t.layerX!=null&&t.layerX!==t.offsetX?(e.zrX=t.layerX,e.zrY=t.layerY):t.offsetX!=null?(e.zrX=t.offsetX,e.zrY=t.offsetY):rh(r,t,e),e}function rh(r,t,e){if($.domSupported&&r.getBoundingClientRect){var i=t.clientX,n=t.clientY;if(Gd(r)){var a=r.getBoundingClientRect();e.zrX=i-a.left,e.zrY=n-a.top;return}else if(Hl(ys,r,i,n)){e.zrX=ys[0],e.zrY=ys[1];return}}e.zrX=e.zrY=0}function Xu(r){return r||window.event}function ie(r,t,e){if(t=Xu(t),t.zrX!=null)return t;var i=t.type,n=i&&i.indexOf("touch")>=0;if(n){var o=i!=="touchend"?t.targetTouches[0]:t.changedTouches[0];o&&Vl(r,o,t,e)}else{Vl(r,t,t,e);var a=jm(t);t.zrDelta=a?a/120:-(t.detail||0)/3}var s=t.button;return t.which==null&&s!==void 0&&Qm.test(t.type)&&(t.which=s&1?1:s&2?3:s&4?2:0),t}function jm(r){var t=r.wheelDelta;if(t)return t;var e=r.deltaX,i=r.deltaY;if(e==null||i==null)return t;var n=Math.abs(i!==0?i:e),a=i>0?-1:i<0?1:e>0?-1:1;return 3*n*a}function t0(r,t,e,i){r.addEventListener(t,e,i)}function e0(r,t,e,i){r.removeEventListener(t,e,i)}var Hd=function(r){r.preventDefault(),r.stopPropagation(),r.cancelBubble=!0},r0=(function(){function r(){this._track=[]}return r.prototype.recognize=function(t,e,i){return this._doTrack(t,e,i),this._recognize(t)},r.prototype.clear=function(){return this._track.length=0,this},r.prototype._doTrack=function(t,e,i){var n=t.touches;if(n){for(var a={points:[],touches:[],target:e,event:t},o=0,s=n.length;o1&&i&&i.length>1){var a=ih(i)/ih(n);!isFinite(a)&&(a=1),t.pinchScale=a;var o=i0(i);return t.pinchX=o[0],t.pinchY=o[1],{type:"pinch",target:r[0].target,event:t}}}}};function Mi(){return[1,0,0,1,0,0]}function $u(r){return r[0]=1,r[1]=0,r[2]=0,r[3]=1,r[4]=0,r[5]=0,r}function n0(r,t){return r[0]=t[0],r[1]=t[1],r[2]=t[2],r[3]=t[3],r[4]=t[4],r[5]=t[5],r}function Ai(r,t,e){var i=t[0]*e[0]+t[2]*e[1],n=t[1]*e[0]+t[3]*e[1],a=t[0]*e[2]+t[2]*e[3],o=t[1]*e[2]+t[3]*e[3],s=t[0]*e[4]+t[2]*e[5]+t[4],l=t[1]*e[4]+t[3]*e[5]+t[5];return r[0]=i,r[1]=n,r[2]=a,r[3]=o,r[4]=s,r[5]=l,r}function Wl(r,t,e){return r[0]=t[0],r[1]=t[1],r[2]=t[2],r[3]=t[3],r[4]=t[4]+e[0],r[5]=t[5]+e[1],r}function Zu(r,t,e,i){i===void 0&&(i=[0,0]);var n=t[0],a=t[2],o=t[4],s=t[1],l=t[3],u=t[5],f=Math.sin(e),h=Math.cos(e);return r[0]=n*h+s*f,r[1]=-n*f+s*h,r[2]=a*h+l*f,r[3]=-a*f+h*l,r[4]=h*(o-i[0])+f*(u-i[1])+i[0],r[5]=h*(u-i[1])-f*(o-i[0])+i[1],r}function a0(r,t,e){var i=e[0],n=e[1];return r[0]=t[0]*i,r[1]=t[1]*n,r[2]=t[2]*i,r[3]=t[3]*n,r[4]=t[4]*i,r[5]=t[5]*n,r}function qu(r,t){var e=t[0],i=t[2],n=t[4],a=t[1],o=t[3],s=t[5],l=e*o-a*i;return l?(l=1/l,r[0]=o*l,r[1]=-a*l,r[2]=-i*l,r[3]=e*l,r[4]=(i*s-o*n)*l,r[5]=(a*n-e*s)*l,r):null}var Z=(function(){function r(t,e){this.x=t||0,this.y=e||0}return r.prototype.copy=function(t){return this.x=t.x,this.y=t.y,this},r.prototype.clone=function(){return new r(this.x,this.y)},r.prototype.set=function(t,e){return this.x=t,this.y=e,this},r.prototype.equal=function(t){return t.x===this.x&&t.y===this.y},r.prototype.add=function(t){return this.x+=t.x,this.y+=t.y,this},r.prototype.scale=function(t){this.x*=t,this.y*=t},r.prototype.scaleAndAdd=function(t,e){this.x+=t.x*e,this.y+=t.y*e},r.prototype.sub=function(t){return this.x-=t.x,this.y-=t.y,this},r.prototype.dot=function(t){return this.x*t.x+this.y*t.y},r.prototype.len=function(){return Math.sqrt(this.x*this.x+this.y*this.y)},r.prototype.lenSquare=function(){return this.x*this.x+this.y*this.y},r.prototype.normalize=function(){var t=this.len();return this.x/=t,this.y/=t,this},r.prototype.distance=function(t){var e=this.x-t.x,i=this.y-t.y;return Math.sqrt(e*e+i*i)},r.prototype.distanceSquare=function(t){var e=this.x-t.x,i=this.y-t.y;return e*e+i*i},r.prototype.negate=function(){return this.x=-this.x,this.y=-this.y,this},r.prototype.transform=function(t){if(t){var e=this.x,i=this.y;return this.x=t[0]*e+t[2]*i+t[4],this.y=t[1]*e+t[3]*i+t[5],this}},r.prototype.toArray=function(t){return t[0]=this.x,t[1]=this.y,t},r.prototype.fromArray=function(t){this.x=t[0],this.y=t[1]},r.set=function(t,e,i){t.x=e,t.y=i},r.copy=function(t,e){t.x=e.x,t.y=e.y},r.len=function(t){return Math.sqrt(t.x*t.x+t.y*t.y)},r.lenSquare=function(t){return t.x*t.x+t.y*t.y},r.dot=function(t,e){return t.x*e.x+t.y*e.y},r.add=function(t,e,i){t.x=e.x+i.x,t.y=e.y+i.y},r.sub=function(t,e,i){t.x=e.x-i.x,t.y=e.y-i.y},r.scale=function(t,e,i){t.x=e.x*i,t.y=e.y*i},r.scaleAndAdd=function(t,e,i,n){t.x=e.x+i.x*n,t.y=e.y+i.y*n},r.lerp=function(t,e,i,n){var a=1-n;t.x=a*e.x+n*i.x,t.y=a*e.y+n*i.y},r})(),sa=Math.min,la=Math.max,br=new Z,xr=new Z,Tr=new Z,Cr=new Z,Xi=new Z,$i=new Z,at=(function(){function r(t,e,i,n){i<0&&(t=t+i,i=-i),n<0&&(e=e+n,n=-n),this.x=t,this.y=e,this.width=i,this.height=n}return r.prototype.union=function(t){var e=sa(t.x,this.x),i=sa(t.y,this.y);isFinite(this.x)&&isFinite(this.width)?this.width=la(t.x+t.width,this.x+this.width)-e:this.width=t.width,isFinite(this.y)&&isFinite(this.height)?this.height=la(t.y+t.height,this.y+this.height)-i:this.height=t.height,this.x=e,this.y=i},r.prototype.applyTransform=function(t){r.applyTransform(this,this,t)},r.prototype.calculateTransform=function(t){var e=this,i=t.width/e.width,n=t.height/e.height,a=Mi();return Wl(a,a,[-e.x,-e.y]),a0(a,a,[i,n]),Wl(a,a,[t.x,t.y]),a},r.prototype.intersect=function(t,e){if(!t)return!1;t instanceof r||(t=r.create(t));var i=this,n=i.x,a=i.x+i.width,o=i.y,s=i.y+i.height,l=t.x,u=t.x+t.width,f=t.y,h=t.y+t.height,c=!(ad&&(d=_,gd&&(d=S,y=i.x&&t<=i.x+i.width&&e>=i.y&&e<=i.y+i.height},r.prototype.clone=function(){return new r(this.x,this.y,this.width,this.height)},r.prototype.copy=function(t){r.copy(this,t)},r.prototype.plain=function(){return{x:this.x,y:this.y,width:this.width,height:this.height}},r.prototype.isFinite=function(){return isFinite(this.x)&&isFinite(this.y)&&isFinite(this.width)&&isFinite(this.height)},r.prototype.isZero=function(){return this.width===0||this.height===0},r.create=function(t){return new r(t.x,t.y,t.width,t.height)},r.copy=function(t,e){t.x=e.x,t.y=e.y,t.width=e.width,t.height=e.height},r.applyTransform=function(t,e,i){if(!i){t!==e&&r.copy(t,e);return}if(i[1]<1e-5&&i[1]>-1e-5&&i[2]<1e-5&&i[2]>-1e-5){var n=i[0],a=i[3],o=i[4],s=i[5];t.x=e.x*n+o,t.y=e.y*a+s,t.width=e.width*n,t.height=e.height*a,t.width<0&&(t.x+=t.width,t.width=-t.width),t.height<0&&(t.y+=t.height,t.height=-t.height);return}br.x=Tr.x=e.x,br.y=Cr.y=e.y,xr.x=Cr.x=e.x+e.width,xr.y=Tr.y=e.y+e.height,br.transform(i),Cr.transform(i),xr.transform(i),Tr.transform(i),t.x=sa(br.x,xr.x,Tr.x,Cr.x),t.y=sa(br.y,xr.y,Tr.y,Cr.y);var l=la(br.x,xr.x,Tr.x,Cr.x),u=la(br.y,xr.y,Tr.y,Cr.y);t.width=l-t.x,t.height=u-t.y},r})(),Vd="silent";function o0(r,t,e){return{type:r,event:e,target:t.target,topTarget:t.topTarget,cancelBubble:!1,offsetX:e.zrX,offsetY:e.zrY,gestureEvent:e.gestureEvent,pinchX:e.pinchX,pinchY:e.pinchY,pinchScale:e.pinchScale,wheelDelta:e.zrDelta,zrByTouch:e.zrByTouch,which:e.which,stop:s0}}function s0(){Hd(this.event)}var l0=(function(r){N(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.handler=null,e}return t.prototype.dispose=function(){},t.prototype.setCursor=function(){},t})(Be),Zi=(function(){function r(t,e){this.x=t,this.y=e}return r})(),u0=["click","dblclick","mousewheel","mouseout","mouseup","mousedown","mousemove","contextmenu"],_s=new at(0,0,0,0),Wd=(function(r){N(t,r);function t(e,i,n,a,o){var s=r.call(this)||this;return s._hovered=new Zi(0,0),s.storage=e,s.painter=i,s.painterRoot=a,s._pointerSize=o,n=n||new l0,s.proxy=null,s.setHandlerProxy(n),s._draggingMgr=new Um(s),s}return t.prototype.setHandlerProxy=function(e){this.proxy&&this.proxy.dispose(),e&&(A(u0,function(i){e.on&&e.on(i,this[i],this)},this),e.handler=this),this.proxy=e},t.prototype.mousemove=function(e){var i=e.zrX,n=e.zrY,a=Ud(this,i,n),o=this._hovered,s=o.target;s&&!s.__zr&&(o=this.findHover(o.x,o.y),s=o.target);var l=this._hovered=a?new Zi(i,n):this.findHover(i,n),u=l.target,f=this.proxy;f.setCursor&&f.setCursor(u?u.cursor:"default"),s&&u!==s&&this.dispatchToElement(o,"mouseout",e),this.dispatchToElement(l,"mousemove",e),u&&u!==s&&this.dispatchToElement(l,"mouseover",e)},t.prototype.mouseout=function(e){var i=e.zrEventControl;i!=="only_globalout"&&this.dispatchToElement(this._hovered,"mouseout",e),i!=="no_globalout"&&this.trigger("globalout",{type:"globalout",event:e})},t.prototype.resize=function(){this._hovered=new Zi(0,0)},t.prototype.dispatch=function(e,i){var n=this[e];n&&n.call(this,i)},t.prototype.dispose=function(){this.proxy.dispose(),this.storage=null,this.proxy=null,this.painter=null},t.prototype.setCursorStyle=function(e){var i=this.proxy;i.setCursor&&i.setCursor(e)},t.prototype.dispatchToElement=function(e,i,n){e=e||{};var a=e.target;if(!(a&&a.silent)){for(var o="on"+i,s=o0(i,e,n);a&&(a[o]&&(s.cancelBubble=!!a[o].call(a,s)),a.trigger(i,s),a=a.__hostTarget?a.__hostTarget:a.parent,!s.cancelBubble););s.cancelBubble||(this.trigger(i,s),this.painter&&this.painter.eachOtherLayer&&this.painter.eachOtherLayer(function(l){typeof l[o]=="function"&&l[o].call(l,s),l.trigger&&l.trigger(i,s)}))}},t.prototype.findHover=function(e,i,n){var a=this.storage.getDisplayList(),o=new Zi(e,i);if(nh(a,o,e,i,n),this._pointerSize&&!o.target){for(var s=[],l=this._pointerSize,u=l/2,f=new at(e-u,i-u,l,l),h=a.length-1;h>=0;h--){var c=a[h];c!==n&&!c.ignore&&!c.ignoreCoarsePointer&&(!c.parent||!c.parent.ignoreCoarsePointer)&&(_s.copy(c.getBoundingRect()),c.transform&&_s.applyTransform(c.transform),_s.intersect(f)&&s.push(c))}if(s.length)for(var v=4,d=Math.PI/12,g=Math.PI*2,p=0;p4)return;this._downPoint=null}this.dispatchToElement(a,r,t)}});function f0(r,t,e){if(r[r.rectHover?"rectContain":"contain"](t,e)){for(var i=r,n=void 0,a=!1;i;){if(i.ignoreClip&&(a=!0),!a){var o=i.getClipPath();if(o&&!o.contain(t,e))return!1}i.silent&&(n=!0);var s=i.__hostTarget;i=s||i.parent}return n?Vd:!0}return!1}function nh(r,t,e,i,n){for(var a=r.length-1;a>=0;a--){var o=r[a],s=void 0;if(o!==n&&!o.ignore&&(s=f0(o,e,i))&&(!t.topTarget&&(t.topTarget=o),s!==Vd)){t.target=o;break}}}function Ud(r,t,e){var i=r.painter;return t<0||t>i.getWidth()||e<0||e>i.getHeight()}var Yd=32,qi=7;function h0(r){for(var t=0;r>=Yd;)t|=r&1,r>>=1;return r+t}function ah(r,t,e,i){var n=t+1;if(n===e)return 1;if(i(r[n++],r[t])<0){for(;n=0;)n++;return n-t}function v0(r,t,e){for(e--;t>>1,n(a,r[l])<0?s=l:o=l+1;var u=i-o;switch(u){case 3:r[o+3]=r[o+2];case 2:r[o+2]=r[o+1];case 1:r[o+1]=r[o];break;default:for(;u>0;)r[o+u]=r[o+u-1],u--}r[o]=a}}function Ss(r,t,e,i,n,a){var o=0,s=0,l=1;if(a(r,t[e+n])>0){for(s=i-n;l0;)o=l,l=(l<<1)+1,l<=0&&(l=s);l>s&&(l=s),o+=n,l+=n}else{for(s=n+1;ls&&(l=s);var u=o;o=n-l,l=n-u}for(o++;o>>1);a(r,t[e+f])>0?o=f+1:l=f}return l}function ws(r,t,e,i,n,a){var o=0,s=0,l=1;if(a(r,t[e+n])<0){for(s=n+1;ls&&(l=s);var u=o;o=n-l,l=n-u}else{for(s=i-n;l=0;)o=l,l=(l<<1)+1,l<=0&&(l=s);l>s&&(l=s),o+=n,l+=n}for(o++;o>>1);a(r,t[e+f])<0?l=f:o=f+1}return l}function c0(r,t){var e=qi,i,n,a=0,o=[];i=[],n=[];function s(v,d){i[a]=v,n[a]=d,a+=1}function l(){for(;a>1;){var v=a-2;if(v>=1&&n[v-1]<=n[v]+n[v+1]||v>=2&&n[v-2]<=n[v]+n[v-1])n[v-1]n[v+1])break;f(v)}}function u(){for(;a>1;){var v=a-2;v>0&&n[v-1]=qi||x>=qi);if(T)break;b<0&&(b=0),b+=2}if(e=b,e<1&&(e=1),d===1){for(y=0;y=0;y--)r[w+y]=r[b+y];r[S]=o[_];return}for(var x=e;;){var T=0,C=0,M=!1;do if(t(o[_],r[m])<0){if(r[S--]=r[m--],T++,C=0,--d===0){M=!0;break}}else if(r[S--]=o[_--],C++,T=0,--p===1){M=!0;break}while((T|C)=0;y--)r[w+y]=r[b+y];if(d===0){M=!0;break}}if(r[S--]=o[_--],--p===1){M=!0;break}if(C=p-Ss(r[m],o,0,p,p-1,t),C!==0){for(S-=C,_-=C,p-=C,w=S+1,b=_+1,y=0;y=qi||C>=qi);if(M)break;x<0&&(x=0),x+=2}if(e=x,e<1&&(e=1),p===1){for(S-=d,m-=d,w=S+1,b=m+1,y=d-1;y>=0;y--)r[w+y]=r[b+y];r[S]=o[_]}else{if(p===0)throw new Error;for(b=S-(p-1),y=0;ys&&(l=s),oh(r,e,e+l,e+a,t),a=l}o.pushRun(e,a),o.mergeRuns(),n-=a,e+=a}while(n!==0);o.forceMergeRuns()}}var Qt=1,cn=2,Si=4,sh=!1;function bs(){sh||(sh=!0,console.warn("z / z2 / zlevel of displayable is invalid, which may cause unexpected errors"))}function lh(r,t){return r.zlevel===t.zlevel?r.z===t.z?r.z2-t.z2:r.z-t.z:r.zlevel-t.zlevel}var d0=(function(){function r(){this._roots=[],this._displayList=[],this._displayListLen=0,this.displayableSortFunc=lh}return r.prototype.traverse=function(t,e){for(var i=0;i0&&(f.__clipPaths=[]),isNaN(f.z)&&(bs(),f.z=0),isNaN(f.z2)&&(bs(),f.z2=0),isNaN(f.zlevel)&&(bs(),f.zlevel=0),this._displayList[this._displayListLen++]=f}var h=t.getDecalElement&&t.getDecalElement();h&&this._updateAndAddDisplayable(h,e,i);var c=t.getTextGuideLine();c&&this._updateAndAddDisplayable(c,e,i);var v=t.getTextContent();v&&this._updateAndAddDisplayable(v,e,i)}},r.prototype.addRoot=function(t){t.__zr&&t.__zr.storage===this||this._roots.push(t)},r.prototype.delRoot=function(t){if(t instanceof Array){for(var e=0,i=t.length;e=0&&this._roots.splice(n,1)},r.prototype.delAllRoots=function(){this._roots=[],this._displayList=[],this._displayListLen=0},r.prototype.getRoots=function(){return this._roots},r.prototype.dispose=function(){this._displayList=null,this._roots=null},r})(),so;so=$.hasGlobalWindow&&(window.requestAnimationFrame&&window.requestAnimationFrame.bind(window)||window.msRequestAnimationFrame&&window.msRequestAnimationFrame.bind(window)||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame)||function(r){return setTimeout(r,16)};var xn={linear:function(r){return r},quadraticIn:function(r){return r*r},quadraticOut:function(r){return r*(2-r)},quadraticInOut:function(r){return(r*=2)<1?.5*r*r:-.5*(--r*(r-2)-1)},cubicIn:function(r){return r*r*r},cubicOut:function(r){return--r*r*r+1},cubicInOut:function(r){return(r*=2)<1?.5*r*r*r:.5*((r-=2)*r*r+2)},quarticIn:function(r){return r*r*r*r},quarticOut:function(r){return 1- --r*r*r*r},quarticInOut:function(r){return(r*=2)<1?.5*r*r*r*r:-.5*((r-=2)*r*r*r-2)},quinticIn:function(r){return r*r*r*r*r},quinticOut:function(r){return--r*r*r*r*r+1},quinticInOut:function(r){return(r*=2)<1?.5*r*r*r*r*r:.5*((r-=2)*r*r*r*r+2)},sinusoidalIn:function(r){return 1-Math.cos(r*Math.PI/2)},sinusoidalOut:function(r){return Math.sin(r*Math.PI/2)},sinusoidalInOut:function(r){return .5*(1-Math.cos(Math.PI*r))},exponentialIn:function(r){return r===0?0:Math.pow(1024,r-1)},exponentialOut:function(r){return r===1?1:1-Math.pow(2,-10*r)},exponentialInOut:function(r){return r===0?0:r===1?1:(r*=2)<1?.5*Math.pow(1024,r-1):.5*(-Math.pow(2,-10*(r-1))+2)},circularIn:function(r){return 1-Math.sqrt(1-r*r)},circularOut:function(r){return Math.sqrt(1- --r*r)},circularInOut:function(r){return(r*=2)<1?-.5*(Math.sqrt(1-r*r)-1):.5*(Math.sqrt(1-(r-=2)*r)+1)},elasticIn:function(r){var t,e=.1,i=.4;return r===0?0:r===1?1:(!e||e<1?(e=1,t=i/4):t=i*Math.asin(1/e)/(2*Math.PI),-(e*Math.pow(2,10*(r-=1))*Math.sin((r-t)*(2*Math.PI)/i)))},elasticOut:function(r){var t,e=.1,i=.4;return r===0?0:r===1?1:(!e||e<1?(e=1,t=i/4):t=i*Math.asin(1/e)/(2*Math.PI),e*Math.pow(2,-10*r)*Math.sin((r-t)*(2*Math.PI)/i)+1)},elasticInOut:function(r){var t,e=.1,i=.4;return r===0?0:r===1?1:(!e||e<1?(e=1,t=i/4):t=i*Math.asin(1/e)/(2*Math.PI),(r*=2)<1?-.5*(e*Math.pow(2,10*(r-=1))*Math.sin((r-t)*(2*Math.PI)/i)):e*Math.pow(2,-10*(r-=1))*Math.sin((r-t)*(2*Math.PI)/i)*.5+1)},backIn:function(r){var t=1.70158;return r*r*((t+1)*r-t)},backOut:function(r){var t=1.70158;return--r*r*((t+1)*r+t)+1},backInOut:function(r){var t=2.5949095;return(r*=2)<1?.5*(r*r*((t+1)*r-t)):.5*((r-=2)*r*((t+1)*r+t)+2)},bounceIn:function(r){return 1-xn.bounceOut(1-r)},bounceOut:function(r){return r<1/2.75?7.5625*r*r:r<2/2.75?7.5625*(r-=1.5/2.75)*r+.75:r<2.5/2.75?7.5625*(r-=2.25/2.75)*r+.9375:7.5625*(r-=2.625/2.75)*r+.984375},bounceInOut:function(r){return r<.5?xn.bounceIn(r*2)*.5:xn.bounceOut(r*2-1)*.5+.5}},ua=Math.pow,cr=Math.sqrt,lo=1e-8,Xd=1e-4,uh=cr(3),fa=1/3,Le=zi(),oe=zi(),Li=zi();function ur(r){return r>-lo&&rlo||r<-lo}function At(r,t,e,i,n){var a=1-n;return a*a*(a*r+3*n*t)+n*n*(n*i+3*a*e)}function fh(r,t,e,i,n){var a=1-n;return 3*(((t-r)*a+2*(e-t)*n)*a+(i-e)*n*n)}function uo(r,t,e,i,n,a){var o=i+3*(t-e)-r,s=3*(e-t*2+r),l=3*(t-r),u=r-n,f=s*s-3*o*l,h=s*l-9*o*u,c=l*l-3*s*u,v=0;if(ur(f)&&ur(h))if(ur(s))a[0]=0;else{var d=-l/s;d>=0&&d<=1&&(a[v++]=d)}else{var g=h*h-4*f*c;if(ur(g)){var p=h/f,d=-s/o+p,y=-p/2;d>=0&&d<=1&&(a[v++]=d),y>=0&&y<=1&&(a[v++]=y)}else if(g>0){var m=cr(g),_=f*s+1.5*o*(-h+m),S=f*s+1.5*o*(-h-m);_<0?_=-ua(-_,fa):_=ua(_,fa),S<0?S=-ua(-S,fa):S=ua(S,fa);var d=(-s-(_+S))/(3*o);d>=0&&d<=1&&(a[v++]=d)}else{var b=(2*f*s-3*o*h)/(2*cr(f*f*f)),w=Math.acos(b)/3,x=cr(f),T=Math.cos(w),d=(-s-2*x*T)/(3*o),y=(-s+x*(T+uh*Math.sin(w)))/(3*o),C=(-s+x*(T-uh*Math.sin(w)))/(3*o);d>=0&&d<=1&&(a[v++]=d),y>=0&&y<=1&&(a[v++]=y),C>=0&&C<=1&&(a[v++]=C)}}return v}function Zd(r,t,e,i,n){var a=6*e-12*t+6*r,o=9*t+3*i-3*r-9*e,s=3*t-3*r,l=0;if(ur(o)){if($d(a)){var u=-s/a;u>=0&&u<=1&&(n[l++]=u)}}else{var f=a*a-4*o*s;if(ur(f))n[0]=-a/(2*o);else if(f>0){var h=cr(f),u=(-a+h)/(2*o),c=(-a-h)/(2*o);u>=0&&u<=1&&(n[l++]=u),c>=0&&c<=1&&(n[l++]=c)}}return l}function fo(r,t,e,i,n,a){var o=(t-r)*n+r,s=(e-t)*n+t,l=(i-e)*n+e,u=(s-o)*n+o,f=(l-s)*n+s,h=(f-u)*n+u;a[0]=r,a[1]=o,a[2]=u,a[3]=h,a[4]=h,a[5]=f,a[6]=l,a[7]=i}function p0(r,t,e,i,n,a,o,s,l,u,f){var h,c=.005,v=1/0,d,g,p,y;Le[0]=l,Le[1]=u;for(var m=0;m<1;m+=.05)oe[0]=At(r,e,n,o,m),oe[1]=At(t,i,a,s,m),p=Di(Le,oe),p=0&&p=0&&u<=1&&(n[l++]=u)}}else{var f=o*o-4*a*s;if(ur(f)){var u=-o/(2*a);u>=0&&u<=1&&(n[l++]=u)}else if(f>0){var h=cr(f),u=(-o+h)/(2*a),c=(-o-h)/(2*a);u>=0&&u<=1&&(n[l++]=u),c>=0&&c<=1&&(n[l++]=c)}}return l}function qd(r,t,e){var i=r+e-2*t;return i===0?.5:(r-t)/i}function ho(r,t,e,i,n){var a=(t-r)*i+r,o=(e-t)*i+t,s=(o-a)*i+a;n[0]=r,n[1]=a,n[2]=s,n[3]=s,n[4]=o,n[5]=e}function m0(r,t,e,i,n,a,o,s,l){var u,f=.005,h=1/0;Le[0]=o,Le[1]=s;for(var c=0;c<1;c+=.05){oe[0]=Wt(r,e,n,c),oe[1]=Wt(t,i,a,c);var v=Di(Le,oe);v=0&&v=1?1:uo(0,i,a,1,l,s)&&At(0,n,o,1,s[0])}}}var w0=(function(){function r(t){this._inited=!1,this._startTime=0,this._pausedTime=0,this._paused=!1,this._life=t.life||1e3,this._delay=t.delay||0,this.loop=t.loop||!1,this.onframe=t.onframe||Xt,this.ondestroy=t.ondestroy||Xt,this.onrestart=t.onrestart||Xt,t.easing&&this.setEasing(t.easing)}return r.prototype.step=function(t,e){if(this._inited||(this._startTime=t+this._delay,this._inited=!0),this._paused){this._pausedTime+=e;return}var i=this._life,n=t-this._startTime-this._pausedTime,a=n/i;a<0&&(a=0),a=Math.min(a,1);var o=this.easingFunc,s=o?o(a):a;if(this.onframe(s),a===1)if(this.loop){var l=n%i;this._startTime=t-l,this._pausedTime=0,this.onrestart()}else return!0;return!1},r.prototype.pause=function(){this._paused=!0},r.prototype.resume=function(){this._paused=!1},r.prototype.setEasing=function(t){this.easing=t,this.easingFunc=q(t)?t:xn[t]||Kd(t)},r})(),Qd=(function(){function r(t){this.value=t}return r})(),b0=(function(){function r(){this._len=0}return r.prototype.insert=function(t){var e=new Qd(t);return this.insertEntry(e),e},r.prototype.insertEntry=function(t){this.head?(this.tail.next=t,t.prev=this.tail,t.next=null,this.tail=t):this.head=this.tail=t,this._len++},r.prototype.remove=function(t){var e=t.prev,i=t.next;e?e.next=i:this.head=i,i?i.prev=e:this.tail=e,t.next=t.prev=null,this._len--},r.prototype.len=function(){return this._len},r.prototype.clear=function(){this.head=this.tail=null,this._len=0},r})(),jn=(function(){function r(t){this._list=new b0,this._maxSize=10,this._map={},this._maxSize=t}return r.prototype.put=function(t,e){var i=this._list,n=this._map,a=null;if(n[t]==null){var o=i.len(),s=this._lastRemovedEntry;if(o>=this._maxSize&&o>0){var l=i.head;i.remove(l),delete n[l.key],a=l.value,this._lastRemovedEntry=l}s?s.value=e:s=new Qd(e),s.key=t,i.insertEntry(s),n[t]=s}return a},r.prototype.get=function(t){var e=this._map[t],i=this._list;if(e!=null)return e!==i.tail&&(i.remove(e),i.insertEntry(e)),e.value},r.prototype.clear=function(){this._list.clear(),this._map={}},r.prototype.len=function(){return this._list.len()},r})(),vh={transparent:[0,0,0,0],aliceblue:[240,248,255,1],antiquewhite:[250,235,215,1],aqua:[0,255,255,1],aquamarine:[127,255,212,1],azure:[240,255,255,1],beige:[245,245,220,1],bisque:[255,228,196,1],black:[0,0,0,1],blanchedalmond:[255,235,205,1],blue:[0,0,255,1],blueviolet:[138,43,226,1],brown:[165,42,42,1],burlywood:[222,184,135,1],cadetblue:[95,158,160,1],chartreuse:[127,255,0,1],chocolate:[210,105,30,1],coral:[255,127,80,1],cornflowerblue:[100,149,237,1],cornsilk:[255,248,220,1],crimson:[220,20,60,1],cyan:[0,255,255,1],darkblue:[0,0,139,1],darkcyan:[0,139,139,1],darkgoldenrod:[184,134,11,1],darkgray:[169,169,169,1],darkgreen:[0,100,0,1],darkgrey:[169,169,169,1],darkkhaki:[189,183,107,1],darkmagenta:[139,0,139,1],darkolivegreen:[85,107,47,1],darkorange:[255,140,0,1],darkorchid:[153,50,204,1],darkred:[139,0,0,1],darksalmon:[233,150,122,1],darkseagreen:[143,188,143,1],darkslateblue:[72,61,139,1],darkslategray:[47,79,79,1],darkslategrey:[47,79,79,1],darkturquoise:[0,206,209,1],darkviolet:[148,0,211,1],deeppink:[255,20,147,1],deepskyblue:[0,191,255,1],dimgray:[105,105,105,1],dimgrey:[105,105,105,1],dodgerblue:[30,144,255,1],firebrick:[178,34,34,1],floralwhite:[255,250,240,1],forestgreen:[34,139,34,1],fuchsia:[255,0,255,1],gainsboro:[220,220,220,1],ghostwhite:[248,248,255,1],gold:[255,215,0,1],goldenrod:[218,165,32,1],gray:[128,128,128,1],green:[0,128,0,1],greenyellow:[173,255,47,1],grey:[128,128,128,1],honeydew:[240,255,240,1],hotpink:[255,105,180,1],indianred:[205,92,92,1],indigo:[75,0,130,1],ivory:[255,255,240,1],khaki:[240,230,140,1],lavender:[230,230,250,1],lavenderblush:[255,240,245,1],lawngreen:[124,252,0,1],lemonchiffon:[255,250,205,1],lightblue:[173,216,230,1],lightcoral:[240,128,128,1],lightcyan:[224,255,255,1],lightgoldenrodyellow:[250,250,210,1],lightgray:[211,211,211,1],lightgreen:[144,238,144,1],lightgrey:[211,211,211,1],lightpink:[255,182,193,1],lightsalmon:[255,160,122,1],lightseagreen:[32,178,170,1],lightskyblue:[135,206,250,1],lightslategray:[119,136,153,1],lightslategrey:[119,136,153,1],lightsteelblue:[176,196,222,1],lightyellow:[255,255,224,1],lime:[0,255,0,1],limegreen:[50,205,50,1],linen:[250,240,230,1],magenta:[255,0,255,1],maroon:[128,0,0,1],mediumaquamarine:[102,205,170,1],mediumblue:[0,0,205,1],mediumorchid:[186,85,211,1],mediumpurple:[147,112,219,1],mediumseagreen:[60,179,113,1],mediumslateblue:[123,104,238,1],mediumspringgreen:[0,250,154,1],mediumturquoise:[72,209,204,1],mediumvioletred:[199,21,133,1],midnightblue:[25,25,112,1],mintcream:[245,255,250,1],mistyrose:[255,228,225,1],moccasin:[255,228,181,1],navajowhite:[255,222,173,1],navy:[0,0,128,1],oldlace:[253,245,230,1],olive:[128,128,0,1],olivedrab:[107,142,35,1],orange:[255,165,0,1],orangered:[255,69,0,1],orchid:[218,112,214,1],palegoldenrod:[238,232,170,1],palegreen:[152,251,152,1],paleturquoise:[175,238,238,1],palevioletred:[219,112,147,1],papayawhip:[255,239,213,1],peachpuff:[255,218,185,1],peru:[205,133,63,1],pink:[255,192,203,1],plum:[221,160,221,1],powderblue:[176,224,230,1],purple:[128,0,128,1],red:[255,0,0,1],rosybrown:[188,143,143,1],royalblue:[65,105,225,1],saddlebrown:[139,69,19,1],salmon:[250,128,114,1],sandybrown:[244,164,96,1],seagreen:[46,139,87,1],seashell:[255,245,238,1],sienna:[160,82,45,1],silver:[192,192,192,1],skyblue:[135,206,235,1],slateblue:[106,90,205,1],slategray:[112,128,144,1],slategrey:[112,128,144,1],snow:[255,250,250,1],springgreen:[0,255,127,1],steelblue:[70,130,180,1],tan:[210,180,140,1],teal:[0,128,128,1],thistle:[216,191,216,1],tomato:[255,99,71,1],turquoise:[64,224,208,1],violet:[238,130,238,1],wheat:[245,222,179,1],white:[255,255,255,1],whitesmoke:[245,245,245,1],yellow:[255,255,0,1],yellowgreen:[154,205,50,1]};function dr(r){return r=Math.round(r),r<0?0:r>255?255:r}function Ul(r){return r<0?0:r>1?1:r}function xs(r){var t=r;return t.length&&t.charAt(t.length-1)==="%"?dr(parseFloat(t)/100*255):dr(parseInt(t,10))}function Tn(r){var t=r;return t.length&&t.charAt(t.length-1)==="%"?Ul(parseFloat(t)/100):Ul(parseFloat(t))}function Ts(r,t,e){return e<0?e+=1:e>1&&(e-=1),e*6<1?r+(t-r)*e*6:e*2<1?t:e*3<2?r+(t-r)*(2/3-e)*6:r}function ha(r,t,e){return r+(t-r)*e}function re(r,t,e,i,n){return r[0]=t,r[1]=e,r[2]=i,r[3]=n,r}function Yl(r,t){return r[0]=t[0],r[1]=t[1],r[2]=t[2],r[3]=t[3],r}var Jd=new jn(20),va=null;function oi(r,t){va&&Yl(va,t),va=Jd.put(r,va||t.slice())}function Xe(r,t){if(r){t=t||[];var e=Jd.get(r);if(e)return Yl(t,e);r=r+"";var i=r.replace(/ /g,"").toLowerCase();if(i in vh)return Yl(t,vh[i]),oi(r,t),t;var n=i.length;if(i.charAt(0)==="#"){if(n===4||n===5){var a=parseInt(i.slice(1,4),16);if(!(a>=0&&a<=4095)){re(t,0,0,0,1);return}return re(t,(a&3840)>>4|(a&3840)>>8,a&240|(a&240)>>4,a&15|(a&15)<<4,n===5?parseInt(i.slice(4),16)/15:1),oi(r,t),t}else if(n===7||n===9){var a=parseInt(i.slice(1,7),16);if(!(a>=0&&a<=16777215)){re(t,0,0,0,1);return}return re(t,(a&16711680)>>16,(a&65280)>>8,a&255,n===9?parseInt(i.slice(7),16)/255:1),oi(r,t),t}return}var o=i.indexOf("("),s=i.indexOf(")");if(o!==-1&&s+1===n){var l=i.substr(0,o),u=i.substr(o+1,s-(o+1)).split(","),f=1;switch(l){case"rgba":if(u.length!==4)return u.length===3?re(t,+u[0],+u[1],+u[2],1):re(t,0,0,0,1);f=Tn(u.pop());case"rgb":if(u.length>=3)return re(t,xs(u[0]),xs(u[1]),xs(u[2]),u.length===3?f:Tn(u[3])),oi(r,t),t;re(t,0,0,0,1);return;case"hsla":if(u.length!==4){re(t,0,0,0,1);return}return u[3]=Tn(u[3]),ch(u,t),oi(r,t),t;case"hsl":if(u.length!==3){re(t,0,0,0,1);return}return ch(u,t),oi(r,t),t;default:return}}re(t,0,0,0,1)}}function ch(r,t){var e=(parseFloat(r[0])%360+360)%360/360,i=Tn(r[1]),n=Tn(r[2]),a=n<=.5?n*(i+1):n+i-n*i,o=n*2-a;return t=t||[],re(t,dr(Ts(o,a,e+1/3)*255),dr(Ts(o,a,e)*255),dr(Ts(o,a,e-1/3)*255),1),r.length===4&&(t[3]=r[3]),t}function dh(r,t){var e=Xe(r);if(e){for(var i=0;i<3;i++)e[i]=e[i]*(1-t)|0,e[i]>255?e[i]=255:e[i]<0&&(e[i]=0);return zo(e,e.length===4?"rgba":"rgb")}}function x0(r,t,e){if(!(!(t&&t.length)||!(r>=0&&r<=1))){var i=r*(t.length-1),n=Math.floor(i),a=Math.ceil(i),o=Xe(t[n]),s=Xe(t[a]),l=i-n,u=zo([dr(ha(o[0],s[0],l)),dr(ha(o[1],s[1],l)),dr(ha(o[2],s[2],l)),Ul(ha(o[3],s[3],l))],"rgba");return e?{color:u,leftIndex:n,rightIndex:a,value:i}:u}}function zo(r,t){if(!(!r||!r.length)){var e=r[0]+","+r[1]+","+r[2];return(t==="rgba"||t==="hsva"||t==="hsla")&&(e+=","+r[3]),t+"("+e+")"}}function vo(r,t){var e=Xe(r);return e?(.299*e[0]+.587*e[1]+.114*e[2])*e[3]/255+(1-e[3])*t:0}var ph=new jn(100);function gh(r){if(V(r)){var t=ph.get(r);return t||(t=dh(r,-.1),ph.put(r,t)),t}else if(No(r)){var e=B({},r);return e.colorStops=U(r.colorStops,function(i){return{offset:i.offset,color:dh(i.color,-.1)}}),e}return r}function T0(r){return r.type==="linear"}function C0(r){return r.type==="radial"}(function(){return $.hasGlobalWindow&&q(window.btoa)?function(r){return window.btoa(unescape(encodeURIComponent(r)))}:typeof Buffer<"u"?function(r){return Buffer.from(r).toString("base64")}:function(r){return null}})();var Xl=Array.prototype.slice;function Ve(r,t,e){return(t-r)*e+r}function Cs(r,t,e,i){for(var n=t.length,a=0;ai?t:r,a=Math.min(e,i),o=n[a-1]||{color:[0,0,0,0],offset:0},s=a;so;if(s)i.length=o;else for(var l=a;l=1},r.prototype.getAdditiveTrack=function(){return this._additiveTrack},r.prototype.addKeyframe=function(t,e,i){this._needsSort=!0;var n=this.keyframes,a=n.length,o=!1,s=mh,l=e;if($t(e)){var u=L0(e);s=u,(u===1&&!ht(e[0])||u===2&&!ht(e[0][0]))&&(o=!0)}else if(ht(e)&&!oo(e))s=da;else if(V(e))if(!isNaN(+e))s=da;else{var f=Xe(e);f&&(l=f,s=dn)}else if(No(e)){var h=B({},l);h.colorStops=U(e.colorStops,function(v){return{offset:v.offset,color:Xe(v.color)}}),T0(e)?s=$l:C0(e)&&(s=Zl),l=h}a===0?this.valType=s:(s!==this.valType||s===mh)&&(o=!0),this.discrete=this.discrete||o;var c={time:t,value:l,rawValue:e,percent:0};return i&&(c.easing=i,c.easingFunc=q(i)?i:xn[i]||Kd(i)),n.push(c),c},r.prototype.prepare=function(t,e){var i=this.keyframes;this._needsSort&&i.sort(function(g,p){return g.time-p.time});for(var n=this.valType,a=i.length,o=i[a-1],s=this.discrete,l=pa(n),u=_h(n),f=0;f=0&&!(o[f].percent<=e);f--);f=c(f,s-2)}else{for(f=h;fe);f++);f=c(f-1,s-2)}d=o[f+1],v=o[f]}if(v&&d){this._lastFr=f,this._lastFrP=e;var p=d.percent-v.percent,y=p===0?1:c((e-v.percent)/p,1);d.easingFunc&&(y=d.easingFunc(y));var m=i?this._additiveValue:u?Ki:t[l];if((pa(a)||u)&&!m&&(m=this._additiveValue=[]),this.discrete)t[l]=y<1?v.rawValue:d.rawValue;else if(pa(a))a===Ka?Cs(m,v[n],d[n],y):D0(m,v[n],d[n],y);else if(_h(a)){var _=v[n],S=d[n],b=a===$l;t[l]={type:b?"linear":"radial",x:Ve(_.x,S.x,y),y:Ve(_.y,S.y,y),colorStops:U(_.colorStops,function(x,T){var C=S.colorStops[T];return{offset:Ve(x.offset,C.offset,y),color:qa(Cs([],x.color,C.color,y))}}),global:S.global},b?(t[l].x2=Ve(_.x2,S.x2,y),t[l].y2=Ve(_.y2,S.y2,y)):t[l].r=Ve(_.r,S.r,y)}else if(u)Cs(m,v[n],d[n],y),i||(t[l]=qa(m));else{var w=Ve(v[n],d[n],y);i?this._additiveValue=w:t[l]=w}i&&this._addToTarget(t)}}},r.prototype._addToTarget=function(t){var e=this.valType,i=this.propName,n=this._additiveValue;e===da?t[i]=t[i]+n:e===dn?(Xe(t[i],Ki),ca(Ki,Ki,n,1),t[i]=qa(Ki)):e===Ka?ca(t[i],t[i],n,1):e===jd&&yh(t[i],t[i],n,1)},r})(),Ku=(function(){function r(t,e,i,n){if(this._tracks={},this._trackKeys=[],this._maxTime=0,this._started=0,this._clip=null,this._target=t,this._loop=e,e&&n){Uu("Can' use additive animation on looped animation.");return}this._additiveAnimators=n,this._allowDiscrete=i}return r.prototype.getMaxTime=function(){return this._maxTime},r.prototype.getDelay=function(){return this._delay},r.prototype.getLoop=function(){return this._loop},r.prototype.getTarget=function(){return this._target},r.prototype.changeTarget=function(t){this._target=t},r.prototype.when=function(t,e,i){return this.whenWithKeys(t,e,dt(e),i)},r.prototype.whenWithKeys=function(t,e,i,n){for(var a=this._tracks,o=0;o0&&l.addKeyframe(0,Za(u),n),this._trackKeys.push(s)}l.addKeyframe(t,Za(e[s]),n)}return this._maxTime=Math.max(this._maxTime,t),this},r.prototype.pause=function(){this._clip.pause(),this._paused=!0},r.prototype.resume=function(){this._clip.resume(),this._paused=!1},r.prototype.isPaused=function(){return!!this._paused},r.prototype.duration=function(t){return this._maxTime=t,this._force=!0,this},r.prototype._doneCallback=function(){this._setTracksFinished(),this._clip=null;var t=this._doneCbs;if(t)for(var e=t.length,i=0;i0)){this._started=1;for(var e=this,i=[],n=this._maxTime||0,a=0;a1){var s=o.pop();a.addKeyframe(s.time,t[n]),a.prepare(this._maxTime,a.getAdditiveTrack())}}}},r})();function Ti(){return new Date().getTime()}var P0=(function(r){N(t,r);function t(e){var i=r.call(this)||this;return i._running=!1,i._time=0,i._pausedTime=0,i._pauseStart=0,i._paused=!1,e=e||{},i.stage=e.stage||{},i}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 i=e.getClip();i&&this.addClip(i)},t.prototype.removeClip=function(e){if(e.animation){var i=e.prev,n=e.next;i?i.next=n:this._head=n,n?n.prev=i:this._tail=i,e.next=e.prev=e.animation=null}},t.prototype.removeAnimator=function(e){var i=e.getClip();i&&this.removeClip(i),e.animation=null},t.prototype.update=function(e){for(var i=Ti()-this._pausedTime,n=i-this._time,a=this._head;a;){var o=a.next,s=a.step(i,n);s&&(a.ondestroy(),this.removeClip(a)),a=o}this._time=i,e||(this.trigger("frame",n),this.stage.update&&this.stage.update())},t.prototype._startLoop=function(){var e=this;this._running=!0;function i(){e._running&&(so(i),!e._paused&&e.update())}so(i)},t.prototype.start=function(){this._running||(this._time=Ti(),this._pausedTime=0,this._startLoop())},t.prototype.stop=function(){this._running=!1},t.prototype.pause=function(){this._paused||(this._pauseStart=Ti(),this._paused=!0)},t.prototype.resume=function(){this._paused&&(this._pausedTime+=Ti()-this._pauseStart,this._paused=!1)},t.prototype.clear=function(){for(var e=this._head;e;){var i=e.next;e.prev=e.next=e.animation=null,e=i}this._head=this._tail=null},t.prototype.isFinished=function(){return this._head==null},t.prototype.animate=function(e,i){i=i||{},this.start();var n=new Ku(e,i.loop);return this.addAnimator(n),n},t})(Be),R0=300,Ds=$.domSupported,Ms=(function(){var r=["click","dblclick","mousewheel","wheel","mouseout","mouseup","mousedown","mousemove","contextmenu"],t=["touchstart","touchend","touchmove"],e={pointerdown:1,pointerup:1,pointermove:1,pointerout:1},i=U(r,function(n){var a=n.replace("mouse","pointer");return e.hasOwnProperty(a)?a:n});return{mouse:r,touch:t,pointer:i}})(),Sh={mouse:["mousemove","mouseup"],pointer:["pointermove","pointerup"]},wh=!1;function ql(r){var t=r.pointerType;return t==="pen"||t==="touch"}function E0(r){r.touching=!0,r.touchTimer!=null&&(clearTimeout(r.touchTimer),r.touchTimer=null),r.touchTimer=setTimeout(function(){r.touching=!1,r.touchTimer=null},700)}function As(r){r&&(r.zrByTouch=!0)}function k0(r,t){return ie(r.dom,new O0(r,t),!0)}function tp(r,t){for(var e=t,i=!1;e&&e.nodeType!==9&&!(i=e.domBelongToZr||e!==t&&e===r.painterRoot);)e=e.parentNode;return i}var O0=(function(){function r(t,e){this.stopPropagation=Xt,this.stopImmediatePropagation=Xt,this.preventDefault=Xt,this.type=e.type,this.target=this.currentTarget=t.dom,this.pointerType=e.pointerType,this.clientX=e.clientX,this.clientY=e.clientY}return r})(),me={mousedown:function(r){r=ie(this.dom,r),this.__mayPointerCapture=[r.zrX,r.zrY],this.trigger("mousedown",r)},mousemove:function(r){r=ie(this.dom,r);var t=this.__mayPointerCapture;t&&(r.zrX!==t[0]||r.zrY!==t[1])&&this.__togglePointerCapture(!0),this.trigger("mousemove",r)},mouseup:function(r){r=ie(this.dom,r),this.__togglePointerCapture(!1),this.trigger("mouseup",r)},mouseout:function(r){r=ie(this.dom,r);var t=r.toElement||r.relatedTarget;tp(this,t)||(this.__pointerCapturing&&(r.zrEventControl="no_globalout"),this.trigger("mouseout",r))},wheel:function(r){wh=!0,r=ie(this.dom,r),this.trigger("mousewheel",r)},mousewheel:function(r){wh||(r=ie(this.dom,r),this.trigger("mousewheel",r))},touchstart:function(r){r=ie(this.dom,r),As(r),this.__lastTouchMoment=new Date,this.handler.processGesture(r,"start"),me.mousemove.call(this,r),me.mousedown.call(this,r)},touchmove:function(r){r=ie(this.dom,r),As(r),this.handler.processGesture(r,"change"),me.mousemove.call(this,r)},touchend:function(r){r=ie(this.dom,r),As(r),this.handler.processGesture(r,"end"),me.mouseup.call(this,r),+new Date-+this.__lastTouchMomentTh||r<-Th}var Mr=[],si=[],Is=Mi(),Ps=Math.abs,Qu=(function(){function r(){}return r.prototype.getLocalTransform=function(t){return r.getLocalTransform(this,t)},r.prototype.setPosition=function(t){this.x=t[0],this.y=t[1]},r.prototype.setScale=function(t){this.scaleX=t[0],this.scaleY=t[1]},r.prototype.setSkew=function(t){this.skewX=t[0],this.skewY=t[1]},r.prototype.setOrigin=function(t){this.originX=t[0],this.originY=t[1]},r.prototype.needLocalTransform=function(){return Dr(this.rotation)||Dr(this.x)||Dr(this.y)||Dr(this.scaleX-1)||Dr(this.scaleY-1)||Dr(this.skewX)||Dr(this.skewY)},r.prototype.updateTransform=function(){var t=this.parent&&this.parent.transform,e=this.needLocalTransform(),i=this.transform;if(!(e||t)){i&&(xh(i),this.invTransform=null);return}i=i||Mi(),e?this.getLocalTransform(i):xh(i),t&&(e?Ai(i,t,i):n0(i,t)),this.transform=i,this._resolveGlobalScaleRatio(i)},r.prototype._resolveGlobalScaleRatio=function(t){var e=this.globalScaleRatio;if(e!=null&&e!==1){this.getGlobalScale(Mr);var i=Mr[0]<0?-1:1,n=Mr[1]<0?-1:1,a=((Mr[0]-i)*e+i)/Mr[0]||0,o=((Mr[1]-n)*e+n)/Mr[1]||0;t[0]*=a,t[1]*=a,t[2]*=o,t[3]*=o}this.invTransform=this.invTransform||Mi(),qu(this.invTransform,t)},r.prototype.getComputedTransform=function(){for(var t=this,e=[];t;)e.push(t),t=t.parent;for(;t=e.pop();)t.updateTransform();return this.transform},r.prototype.setLocalTransform=function(t){if(t){var e=t[0]*t[0]+t[1]*t[1],i=t[2]*t[2]+t[3]*t[3],n=Math.atan2(t[1],t[0]),a=Math.PI/2+n-Math.atan2(t[3],t[2]);i=Math.sqrt(i)*Math.cos(a),e=Math.sqrt(e),this.skewX=a,this.skewY=0,this.rotation=-n,this.x=+t[4],this.y=+t[5],this.scaleX=e,this.scaleY=i,this.originX=0,this.originY=0}},r.prototype.decomposeTransform=function(){if(this.transform){var t=this.parent,e=this.transform;t&&t.transform&&(t.invTransform=t.invTransform||Mi(),Ai(si,t.invTransform,e),e=si);var i=this.originX,n=this.originY;(i||n)&&(Is[4]=i,Is[5]=n,Ai(si,e,Is),si[4]-=i,si[5]-=n,e=si),this.setLocalTransform(e)}},r.prototype.getGlobalScale=function(t){var e=this.transform;return t=t||[],e?(t[0]=Math.sqrt(e[0]*e[0]+e[1]*e[1]),t[1]=Math.sqrt(e[2]*e[2]+e[3]*e[3]),e[0]<0&&(t[0]=-t[0]),e[3]<0&&(t[1]=-t[1]),t):(t[0]=1,t[1]=1,t)},r.prototype.transformCoordToLocal=function(t,e){var i=[t,e],n=this.invTransform;return n&&fe(i,i,n),i},r.prototype.transformCoordToGlobal=function(t,e){var i=[t,e],n=this.transform;return n&&fe(i,i,n),i},r.prototype.getLineScale=function(){var t=this.transform;return t&&Ps(t[0]-1)>1e-10&&Ps(t[3]-1)>1e-10?Math.sqrt(Ps(t[0]*t[3]-t[2]*t[1])):1},r.prototype.copyTransform=function(t){G0(this,t)},r.getLocalTransform=function(t,e){e=e||[];var i=t.originX||0,n=t.originY||0,a=t.scaleX,o=t.scaleY,s=t.anchorX,l=t.anchorY,u=t.rotation||0,f=t.x,h=t.y,c=t.skewX?Math.tan(t.skewX):0,v=t.skewY?Math.tan(-t.skewY):0;if(i||n||s||l){var d=i+s,g=n+l;e[4]=-d*a-c*g*o,e[5]=-g*o-v*d*a}else e[4]=e[5]=0;return e[0]=a,e[3]=o,e[1]=v*a,e[2]=c*o,u&&Zu(e,e,u),e[4]+=i+f,e[5]+=n+h,e},r.initDefaultProps=(function(){var t=r.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})(),r})(),Fn=["x","y","originX","originY","anchorX","anchorY","rotation","scaleX","scaleY","skewX","skewY"];function G0(r,t){for(var e=0;e=0?parseFloat(r)/100*t:parseFloat(r):r}function po(r,t,e){var i=t.position||"inside",n=t.distance!=null?t.distance:5,a=e.height,o=e.width,s=a/2,l=e.x,u=e.y,f="left",h="top";if(i instanceof Array)l+=mr(i[0],e.width),u+=mr(i[1],e.height),f=null,h=null;else switch(i){case"left":l-=n,u+=s,f="right",h="middle";break;case"right":l+=n+o,u+=s,h="middle";break;case"top":l+=o/2,u-=n,f="center",h="bottom";break;case"bottom":l+=o/2,u+=a+n,f="center";break;case"inside":l+=o/2,u+=s,f="center",h="middle";break;case"insideLeft":l+=n,u+=s,h="middle";break;case"insideRight":l+=o-n,u+=s,f="right",h="middle";break;case"insideTop":l+=o/2,u+=n,f="center";break;case"insideBottom":l+=o/2,u+=a-n,f="center",h="bottom";break;case"insideTopLeft":l+=n,u+=n;break;case"insideTopRight":l+=o-n,u+=n,f="right";break;case"insideBottomLeft":l+=n,u+=a-n,h="bottom";break;case"insideBottomRight":l+=o-n,u+=a-n,f="right",h="bottom";break}return r=r||{},r.x=l,r.y=u,r.align=f,r.verticalAlign=h,r}var Rs="__zr_normal__",Es=Fn.concat(["ignore"]),H0=yr(Fn,function(r,t){return r[t]=!0,r},{ignore:!1}),li={},V0=new at(0,0,0,0),Go=(function(){function r(t){this.id=Od(),this.animators=[],this.currentStates=[],this.states={},this._init(t)}return r.prototype._init=function(t){this.attr(t)},r.prototype.drift=function(t,e,i){switch(this.draggable){case"horizontal":e=0;break;case"vertical":t=0;break}var n=this.transform;n||(n=this.transform=[1,0,0,1,0,0]),n[4]+=t,n[5]+=e,this.decomposeTransform(),this.markRedraw()},r.prototype.beforeUpdate=function(){},r.prototype.afterUpdate=function(){},r.prototype.update=function(){this.updateTransform(),this.__dirty&&this.updateInnerText()},r.prototype.updateInnerText=function(t){var e=this._textContent;if(e&&(!e.ignore||t)){this.textConfig||(this.textConfig={});var i=this.textConfig,n=i.local,a=e.innerTransformable,o=void 0,s=void 0,l=!1;a.parent=n?this:null;var u=!1;if(a.copyTransform(e),i.position!=null){var f=V0;i.layoutRect?f.copy(i.layoutRect):f.copy(this.getBoundingRect()),n||f.applyTransform(this.transform),this.calculateTextPosition?this.calculateTextPosition(li,i,f):po(li,i,f),a.x=li.x,a.y=li.y,o=li.align,s=li.verticalAlign;var h=i.origin;if(h&&i.rotation!=null){var c=void 0,v=void 0;h==="center"?(c=f.width*.5,v=f.height*.5):(c=mr(h[0],f.width),v=mr(h[1],f.height)),u=!0,a.originX=-a.x+c+(n?0:f.x),a.originY=-a.y+v+(n?0:f.y)}}i.rotation!=null&&(a.rotation=i.rotation);var d=i.offset;d&&(a.x+=d[0],a.y+=d[1],u||(a.originX=-d[0],a.originY=-d[1]));var g=i.inside==null?typeof i.position=="string"&&i.position.indexOf("inside")>=0:i.inside,p=this._innerTextDefaultStyle||(this._innerTextDefaultStyle={}),y=void 0,m=void 0,_=void 0;g&&this.canBeInsideText()?(y=i.insideFill,m=i.insideStroke,(y==null||y==="auto")&&(y=this.getInsideTextFill()),(m==null||m==="auto")&&(m=this.getInsideTextStroke(y),_=!0)):(y=i.outsideFill,m=i.outsideStroke,(y==null||y==="auto")&&(y=this.getOutsideFill()),(m==null||m==="auto")&&(m=this.getOutsideStroke(y),_=!0)),y=y||"#000",(y!==p.fill||m!==p.stroke||_!==p.autoStroke||o!==p.align||s!==p.verticalAlign)&&(l=!0,p.fill=y,p.stroke=m,p.autoStroke=_,p.align=o,p.verticalAlign=s,e.setDefaultTextStyle(p)),e.__dirty|=Qt,l&&e.dirtyStyle(!0)}},r.prototype.canBeInsideText=function(){return!0},r.prototype.getInsideTextFill=function(){return"#fff"},r.prototype.getInsideTextStroke=function(t){return"#000"},r.prototype.getOutsideFill=function(){return this.__zr&&this.__zr.isDarkMode()?jl:Jl},r.prototype.getOutsideStroke=function(t){var e=this.__zr&&this.__zr.getBackgroundColor(),i=typeof e=="string"&&Xe(e);i||(i=[255,255,255,1]);for(var n=i[3],a=this.__zr.isDarkMode(),o=0;o<3;o++)i[o]=i[o]*n+(a?0:255)*(1-n);return i[3]=1,zo(i,"rgba")},r.prototype.traverse=function(t,e){},r.prototype.attrKV=function(t,e){t==="textConfig"?this.setTextConfig(e):t==="textContent"?this.setTextContent(e):t==="clipPath"?this.setClipPath(e):t==="extra"?(this.extra=this.extra||{},B(this.extra,e)):this[t]=e},r.prototype.hide=function(){this.ignore=!0,this.markRedraw()},r.prototype.show=function(){this.ignore=!1,this.markRedraw()},r.prototype.attr=function(t,e){if(typeof t=="string")this.attrKV(t,e);else if(Y(t))for(var i=t,n=dt(i),a=0;a0},r.prototype.getState=function(t){return this.states[t]},r.prototype.ensureState=function(t){var e=this.states;return e[t]||(e[t]={}),e[t]},r.prototype.clearStates=function(t){this.useState(Rs,!1,t)},r.prototype.useState=function(t,e,i,n){var a=t===Rs,o=this.hasState();if(!(!o&&a)){var s=this.currentStates,l=this.stateTransition;if(!(ut(s,t)>=0&&(e||s.length===1))){var u;if(this.stateProxy&&!a&&(u=this.stateProxy(t)),u||(u=this.states&&this.states[t]),!u&&!a){Uu("State "+t+" not exists.");return}a||this.saveCurrentToNormalState(u);var f=!!(u&&u.hoverLayer||n);f&&this._toggleHoverLayerFlag(!0),this._applyStateObj(t,u,this._normalState,e,!i&&!this.__inHover&&l&&l.duration>0,l);var h=this._textContent,c=this._textGuide;return h&&h.useState(t,e,i,f),c&&c.useState(t,e,i,f),a?(this.currentStates=[],this._normalState={}):e?this.currentStates.push(t):this.currentStates=[t],this._updateAnimationTargets(),this.markRedraw(),!f&&this.__inHover&&(this._toggleHoverLayerFlag(!1),this.__dirty&=~Qt),u}}},r.prototype.useStates=function(t,e,i){if(!t.length)this.clearStates();else{var n=[],a=this.currentStates,o=t.length,s=o===a.length;if(s){for(var l=0;l0,d);var g=this._textContent,p=this._textGuide;g&&g.useStates(t,e,c),p&&p.useStates(t,e,c),this._updateAnimationTargets(),this.currentStates=t.slice(),this.markRedraw(),!c&&this.__inHover&&(this._toggleHoverLayerFlag(!1),this.__dirty&=~Qt)}},r.prototype.isSilent=function(){for(var t=this.silent,e=this.parent;!t&&e;){if(e.silent){t=!0;break}e=e.parent}return t},r.prototype._updateAnimationTargets=function(){for(var t=0;t=0){var i=this.currentStates.slice();i.splice(e,1),this.useStates(i)}},r.prototype.replaceState=function(t,e,i){var n=this.currentStates.slice(),a=ut(n,t),o=ut(n,e)>=0;a>=0?o?n.splice(a,1):n[a]=e:i&&!o&&n.push(e),this.useStates(n)},r.prototype.toggleState=function(t,e){e?this.useState(t,!0):this.removeState(t)},r.prototype._mergeStates=function(t){for(var e={},i,n=0;n=0&&a.splice(o,1)}),this.animators.push(t),i&&i.animation.addAnimator(t),i&&i.wakeUp()},r.prototype.updateDuringAnimation=function(t){this.markRedraw()},r.prototype.stopAnimation=function(t,e){for(var i=this.animators,n=i.length,a=[],o=0;o0&&e.during&&a[0].during(function(d,g){e.during(g)});for(var c=0;c0||n.force&&!o.length){var T=void 0,C=void 0,M=void 0;if(s){C={},c&&(T={});for(var S=0;S<_;S++){var y=g[S];C[y]=e[y],c?T[y]=i[y]:e[y]=i[y]}}else if(c){M={};for(var S=0;S<_;S++){var y=g[S];M[y]=Za(e[y]),U0(e,i,y)}}var b=new Ku(e,!1,!1,h?Mt(d,function(L){return L.targetName===t}):null);b.targetName=t,n.scope&&(b.scope=n.scope),c&&T&&b.whenWithKeys(0,T,g),M&&b.whenWithKeys(0,M,g),b.whenWithKeys(u??500,s?C:i,g).delay(f||0),r.addAnimator(b,t),o.push(b)}}var Lt=(function(r){N(t,r);function t(e){var i=r.call(this)||this;return i.isGroup=!0,i._children=[],i.attr(e),i}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 i=this._children,n=0;n=0&&(n.splice(a,0,e),this._doAdd(e))}return this},t.prototype.replace=function(e,i){var n=ut(this._children,e);return n>=0&&this.replaceAt(i,n),this},t.prototype.replaceAt=function(e,i){var n=this._children,a=n[i];if(e&&e!==this&&e.parent!==this&&e!==a){n[i]=e,a.parent=null;var o=this.__zr;o&&a.removeSelfFromZr(o),this._doAdd(e)}return this},t.prototype._doAdd=function(e){e.parent&&e.parent.remove(e),e.parent=this;var i=this.__zr;i&&i!==e.__zr&&e.addSelfToZr(i),i&&i.refresh()},t.prototype.remove=function(e){var i=this.__zr,n=this._children,a=ut(n,e);return a<0?this:(n.splice(a,1),e.parent=null,i&&e.removeSelfFromZr(i),i&&i.refresh(),this)},t.prototype.removeAll=function(){for(var e=this._children,i=this.__zr,n=0;n0&&(this._stillFrameAccum++,this._stillFrameAccum>this._sleepAfterStill&&this.animation.stop())},r.prototype.setSleepAfterStill=function(t){this._sleepAfterStill=t},r.prototype.wakeUp=function(){this._disposed||(this.animation.start(),this._stillFrameAccum=0)},r.prototype.refreshHover=function(){this._needsRefreshHover=!0},r.prototype.refreshHoverImmediately=function(){this._disposed||(this._needsRefreshHover=!1,this.painter.refreshHover&&this.painter.getType()==="canvas"&&this.painter.refreshHover())},r.prototype.resize=function(t){this._disposed||(t=t||{},this.painter.resize(t.width,t.height),this.handler.resize())},r.prototype.clearAnimation=function(){this._disposed||this.animation.clear()},r.prototype.getWidth=function(){if(!this._disposed)return this.painter.getWidth()},r.prototype.getHeight=function(){if(!this._disposed)return this.painter.getHeight()},r.prototype.setCursorStyle=function(t){this._disposed||this.handler.setCursorStyle(t)},r.prototype.findHover=function(t,e){if(!this._disposed)return this.handler.findHover(t,e)},r.prototype.on=function(t,e,i){return this._disposed||this.handler.on(t,e,i),this},r.prototype.off=function(t,e){this._disposed||this.handler.off(t,e)},r.prototype.trigger=function(t,e){this._disposed||this.handler.trigger(t,e)},r.prototype.clear=function(){if(!this._disposed){for(var t=this.storage.getRoots(),e=0;e0){if(r<=n)return o;if(r>=a)return s}else{if(r>=n)return o;if(r<=a)return s}else{if(r===n)return o;if(r===a)return s}return(r-n)/l*u+o}function ct(r,t){switch(r){case"center":case"middle":r="50%";break;case"left":case"top":r="0%";break;case"right":case"bottom":r="100%";break}return V(r)?Q0(r).match(/%$/)?parseFloat(r)/100*t:parseFloat(r):r==null?NaN:+r}function wt(r,t,e){return t==null&&(t=10),t=Math.min(Math.max(0,t),np),r=(+r).toFixed(t),e?r:+r}function We(r){if(r=+r,isNaN(r))return 0;if(r>1e-14){for(var t=1,e=0;e<15;e++,t*=10)if(Math.round(r*t)/t===r)return e}return J0(r)}function J0(r){var t=r.toString().toLowerCase(),e=t.indexOf("e"),i=e>0?+t.slice(e+1):0,n=e>0?e:t.length,a=t.indexOf("."),o=a<0?0:n-1-a;return Math.max(0,o-i)}function j0(r,t){var e=Math.log,i=Math.LN10,n=Math.floor(e(r[1]-r[0])/i),a=Math.round(e(Math.abs(t[1]-t[0]))/i),o=Math.min(Math.max(-n+a,0),20);return isFinite(o)?o:20}function t_(r,t){var e=yr(r,function(v,d){return v+(isNaN(d)?0:d)},0);if(e===0)return[];for(var i=Math.pow(10,t),n=U(r,function(v){return(isNaN(v)?0:v)/e*i*100}),a=i*100,o=U(n,function(v){return Math.floor(v)}),s=yr(o,function(v,d){return v+d},0),l=U(n,function(v,d){return v-o[d]});su&&(u=l[h],f=h);++o[f],l[f]=0,++s}return U(o,function(v){return v/i})}function e_(r,t){var e=Math.max(We(r),We(t)),i=r+t;return e>np?i:wt(i,e)}function ap(r){var t=Math.PI*2;return(r%t+t)%t}function go(r){return r>-Ah&&r=10&&t++,t}function op(r,t){var e=tf(r),i=Math.pow(10,e),n=r/i,a;return n<1.5?a=1:n<2.5?a=2:n<4?a=3:n<7?a=5:a=10,r=a*i,e>=-20?+r.toFixed(e<0?-e:0):r}function yo(r){var t=parseFloat(r);return t==r&&(t!==0||!V(r)||r.indexOf("x")<=0)?t:NaN}function n_(r){return!isNaN(yo(r))}function sp(){return Math.round(Math.random()*9)}function lp(r,t){return t===0?r:lp(t,r%t)}function Lh(r,t){return r==null?t:t==null?r:r*t/lp(r,t)}function Ut(r){throw new Error(r)}function Ih(r,t,e){return(t-r)*e+r}var up="series\0",a_="\0_ec_\0";function Bt(r){return r instanceof Array?r:r==null?[]:[r]}function eu(r,t,e){if(r){r[t]=r[t]||{},r.emphasis=r.emphasis||{},r.emphasis[t]=r.emphasis[t]||{};for(var i=0,n=e.length;i=0||a&&ut(a,l)<0)){var u=i.getShallow(l,t);u!=null&&(o[r[s][0]]=u)}}return o}}var A_=[["fill","color"],["shadowBlur"],["shadowOffsetX"],["shadowOffsetY"],["opacity"],["shadowColor"]],L_=Gn(A_),I_=(function(){function r(){}return r.prototype.getAreaStyle=function(t,e){return L_(this,t,e)},r})(),ru=new jn(50);function P_(r){if(typeof r=="string"){var t=ru.get(r);return t&&t.image}else return r}function dp(r,t,e,i,n){if(r)if(typeof r=="string"){if(t&&t.__zrImageSrc===r||!e)return t;var a=ru.get(r),o={hostEl:e,cb:i,cbPayload:n};return a?(t=a.image,!Vo(t)&&a.pending.push(o)):(t=Fi.loadImage(r,Rh,Rh),t.__zrImageSrc=r,ru.put(r,t.__cachedImgObj={image:t,pending:[o]})),t}else return r;else return t}function Rh(){var r=this.__cachedImgObj;this.onload=this.onerror=this.__cachedImgObj=null;for(var t=0;t=o;l++)s-=o;var u=Jt(e,t);return u>s&&(e="",u=0),s=r-u,n.ellipsis=e,n.ellipsisWidth=u,n.contentWidth=s,n.containerWidth=r,n}function gp(r,t,e){var i=e.containerWidth,n=e.font,a=e.contentWidth;if(!i){r.textLine="",r.isTruncated=!1;return}var o=Jt(t,n);if(o<=i){r.textLine=t,r.isTruncated=!1;return}for(var s=0;;s++){if(o<=a||s>=e.maxIterations){t+=e.ellipsis;break}var l=s===0?E_(t,a,e.ascCharWidth,e.cnCharWidth):o>0?Math.floor(t.length*a/o):0;t=t.substr(0,l),o=Jt(t,n)}t===""&&(t=e.placeholder),r.textLine=t,r.isTruncated=!0}function E_(r,t,e,i){for(var n=0,a=0,o=r.length;ad&&u){var g=Math.floor(d/s);f=f||c.length>g,c=c.slice(0,g)}if(r&&a&&h!=null)for(var p=pp(h,n,t.ellipsis,{minChar:t.truncateMinChar,placeholder:t.placeholder}),y={},m=0;ms&&Fs(e,r.substring(s,u),t,o),Fs(e,l[2],t,o,l[1]),s=Ns.lastIndex}sn){var I=e.lines.length;w>0?(_.tokens=_.tokens.slice(0,w),y(_,b,S),e.lines=e.lines.slice(0,m+1)):e.lines=e.lines.slice(0,m),e.isTruncated=e.isTruncated||e.lines.length0&&d+i.accumWidth>i.width&&(f=t.split(` +`),u=!0),i.accumWidth=d}else{var g=yp(t,l,i.width,i.breakAll,i.accumWidth);i.accumWidth=g.accumWidth+v,h=g.linesWidths,f=g.lines}}else f=t.split(` +`);for(var p=0;p=32&&t<=591||t>=880&&t<=4351||t>=4608&&t<=5119||t>=7680&&t<=8303}var z_=yr(",&?/;] ".split(""),function(r,t){return r[t]=!0,r},{});function G_(r){return F_(r)?!!z_[r]:!0}function yp(r,t,e,i,n){for(var a=[],o=[],s="",l="",u=0,f=0,h=0;he:n+f+v>e){f?(s||l)&&(d?(s||(s=l,l="",u=0,f=u),a.push(s),o.push(f-u),l+=c,u+=v,s="",f=u):(l&&(s+=l,l="",u=0),a.push(s),o.push(f),s=c,f=v)):d?(a.push(l),o.push(u),l=c,u=v):(a.push(c),o.push(v));continue}f+=v,d?(l+=c,u+=v):(l&&(s+=l,l="",u=0),s+=c)}return!a.length&&!s&&(s=r,l="",u=0),l&&(s+=l),s&&(a.push(s),o.push(f)),a.length===1&&(f+=n),{accumWidth:f,lines:a,linesWidths:o}}var iu="__zr_style_"+Math.round(Math.random()*10),Zr={shadowBlur:0,shadowOffsetX:0,shadowOffsetY:0,shadowColor:"#000",opacity:1,blend:"source-over"},Wo={style:{shadowBlur:!0,shadowOffsetX:!0,shadowOffsetY:!0,shadowColor:!0,opacity:!0}};Zr[iu]=!0;var kh=["z","z2","invisible"],H_=["invisible"],ra=(function(r){N(t,r);function t(e){return r.call(this,e)||this}return t.prototype._init=function(e){for(var i=dt(e),n=0;n1e-4){s[0]=r-e,s[1]=t-i,l[0]=r+e,l[1]=t+i;return}if(ga[0]=Vs(n)*e+r,ga[1]=Hs(n)*i+t,ya[0]=Vs(a)*e+r,ya[1]=Hs(a)*i+t,u(s,ga,ya),f(l,ga,ya),n=n%Lr,n<0&&(n=n+Lr),a=a%Lr,a<0&&(a=a+Lr),n>a&&!o?a+=Lr:nn&&(ma[0]=Vs(v)*e+r,ma[1]=Hs(v)*i+t,u(s,ma,s),f(l,ma,l))}var rt={M:1,L:2,C:3,Q:4,A:5,Z:6,R:7},Ir=[],Pr=[],Ce=[],Je=[],De=[],Me=[],Ws=Math.min,Us=Math.max,Rr=Math.cos,Er=Math.sin,Ge=Math.abs,nu=Math.PI,sr=nu*2,Ys=typeof Float32Array<"u",Qi=[];function Xs(r){var t=Math.round(r/nu*1e8)/1e8;return t%2*nu}function mp(r,t){var e=Xs(r[0]);e<0&&(e+=sr);var i=e-r[0],n=r[1];n+=i,!t&&n-e>=sr?n=e+sr:t&&e-n>=sr?n=e-sr:!t&&e>n?n=e+(sr-Xs(e-n)):t&&e0&&(this._ux=Ge(i/co/t)||0,this._uy=Ge(i/co/e)||0)},r.prototype.setDPR=function(t){this.dpr=t},r.prototype.setContext=function(t){this._ctx=t},r.prototype.getContext=function(){return this._ctx},r.prototype.beginPath=function(){return this._ctx&&this._ctx.beginPath(),this.reset(),this},r.prototype.reset=function(){this._saveData&&(this._len=0),this._pathSegLen&&(this._pathSegLen=null,this._pathLen=0),this._version++},r.prototype.moveTo=function(t,e){return this._drawPendingPt(),this.addData(rt.M,t,e),this._ctx&&this._ctx.moveTo(t,e),this._x0=t,this._y0=e,this._xi=t,this._yi=e,this},r.prototype.lineTo=function(t,e){var i=Ge(t-this._xi),n=Ge(e-this._yi),a=i>this._ux||n>this._uy;if(this.addData(rt.L,t,e),this._ctx&&a&&this._ctx.lineTo(t,e),a)this._xi=t,this._yi=e,this._pendingPtDist=0;else{var o=i*i+n*n;o>this._pendingPtDist&&(this._pendingPtX=t,this._pendingPtY=e,this._pendingPtDist=o)}return this},r.prototype.bezierCurveTo=function(t,e,i,n,a,o){return this._drawPendingPt(),this.addData(rt.C,t,e,i,n,a,o),this._ctx&&this._ctx.bezierCurveTo(t,e,i,n,a,o),this._xi=a,this._yi=o,this},r.prototype.quadraticCurveTo=function(t,e,i,n){return this._drawPendingPt(),this.addData(rt.Q,t,e,i,n),this._ctx&&this._ctx.quadraticCurveTo(t,e,i,n),this._xi=i,this._yi=n,this},r.prototype.arc=function(t,e,i,n,a,o){this._drawPendingPt(),Qi[0]=n,Qi[1]=a,mp(Qi,o),n=Qi[0],a=Qi[1];var s=a-n;return this.addData(rt.A,t,e,i,i,n,s,0,o?0:1),this._ctx&&this._ctx.arc(t,e,i,n,a,o),this._xi=Rr(a)*i+t,this._yi=Er(a)*i+e,this},r.prototype.arcTo=function(t,e,i,n,a){return this._drawPendingPt(),this._ctx&&this._ctx.arcTo(t,e,i,n,a),this},r.prototype.rect=function(t,e,i,n){return this._drawPendingPt(),this._ctx&&this._ctx.rect(t,e,i,n),this.addData(rt.R,t,e,i,n),this},r.prototype.closePath=function(){this._drawPendingPt(),this.addData(rt.Z);var t=this._ctx,e=this._x0,i=this._y0;return t&&t.closePath(),this._xi=e,this._yi=i,this},r.prototype.fill=function(t){t&&t.fill(),this.toStatic()},r.prototype.stroke=function(t){t&&t.stroke(),this.toStatic()},r.prototype.len=function(){return this._len},r.prototype.setData=function(t){var e=t.length;!(this.data&&this.data.length===e)&&Ys&&(this.data=new Float32Array(e));for(var i=0;if.length&&(this._expandData(),f=this.data);for(var h=0;h0&&(this._ctx&&this._ctx.lineTo(this._pendingPtX,this._pendingPtY),this._pendingPtDist=0)},r.prototype._expandData=function(){if(!(this.data instanceof Array)){for(var t=[],e=0;e11&&(this.data=new Float32Array(t)))}},r.prototype.getBoundingRect=function(){Ce[0]=Ce[1]=De[0]=De[1]=Number.MAX_VALUE,Je[0]=Je[1]=Me[0]=Me[1]=-Number.MAX_VALUE;var t=this.data,e=0,i=0,n=0,a=0,o;for(o=0;oi||Ge(_)>n||c===e-1)&&(g=Math.sqrt(m*m+_*_),a=p,o=y);break}case rt.C:{var S=t[c++],b=t[c++],p=t[c++],y=t[c++],w=t[c++],x=t[c++];g=g0(a,o,S,b,p,y,w,x,10),a=w,o=x;break}case rt.Q:{var S=t[c++],b=t[c++],p=t[c++],y=t[c++];g=_0(a,o,S,b,p,y,10),a=p,o=y;break}case rt.A:var T=t[c++],C=t[c++],M=t[c++],D=t[c++],L=t[c++],I=t[c++],P=I+L;c+=1,d&&(s=Rr(L)*M+T,l=Er(L)*D+C),g=Us(M,D)*Ws(sr,Math.abs(I)),a=Rr(P)*M+T,o=Er(P)*D+C;break;case rt.R:{s=a=t[c++],l=o=t[c++];var R=t[c++],E=t[c++];g=R*2+E*2;break}case rt.Z:{var m=s-a,_=l-o;g=Math.sqrt(m*m+_*_),a=s,o=l;break}}g>=0&&(u[h++]=g,f+=g)}return this._pathLen=f,f},r.prototype.rebuildPath=function(t,e){var i=this.data,n=this._ux,a=this._uy,o=this._len,s,l,u,f,h,c,v=e<1,d,g,p=0,y=0,m,_=0,S,b;if(!(v&&(this._pathSegLen||this._calculateLength(),d=this._pathSegLen,g=this._pathLen,m=e*g,!m)))t:for(var w=0;w0&&(t.lineTo(S,b),_=0),x){case rt.M:s=u=i[w++],l=f=i[w++],t.moveTo(u,f);break;case rt.L:{h=i[w++],c=i[w++];var C=Ge(h-u),M=Ge(c-f);if(C>n||M>a){if(v){var D=d[y++];if(p+D>m){var L=(m-p)/D;t.lineTo(u*(1-L)+h*L,f*(1-L)+c*L);break t}p+=D}t.lineTo(h,c),u=h,f=c,_=0}else{var I=C*C+M*M;I>_&&(S=h,b=c,_=I)}break}case rt.C:{var P=i[w++],R=i[w++],E=i[w++],G=i[w++],k=i[w++],O=i[w++];if(v){var D=d[y++];if(p+D>m){var L=(m-p)/D;fo(u,P,E,k,L,Ir),fo(f,R,G,O,L,Pr),t.bezierCurveTo(Ir[1],Pr[1],Ir[2],Pr[2],Ir[3],Pr[3]);break t}p+=D}t.bezierCurveTo(P,R,E,G,k,O),u=k,f=O;break}case rt.Q:{var P=i[w++],R=i[w++],E=i[w++],G=i[w++];if(v){var D=d[y++];if(p+D>m){var L=(m-p)/D;ho(u,P,E,L,Ir),ho(f,R,G,L,Pr),t.quadraticCurveTo(Ir[1],Pr[1],Ir[2],Pr[2]);break t}p+=D}t.quadraticCurveTo(P,R,E,G),u=E,f=G;break}case rt.A:var F=i[w++],H=i[w++],W=i[w++],j=i[w++],et=i[w++],ft=i[w++],zt=i[w++],jt=!i[w++],Kt=W>j?W:j,Tt=Ge(W-j)>.001,yt=et+ft,X=!1;if(v){var D=d[y++];p+D>m&&(yt=et+ft*(m-p)/D,X=!0),p+=D}if(Tt&&t.ellipse?t.ellipse(F,H,W,j,zt,et,yt,jt):t.arc(F,H,Kt,et,yt,jt),X)break t;T&&(s=Rr(et)*W+F,l=Er(et)*j+H),u=Rr(yt)*W+F,f=Er(yt)*j+H;break;case rt.R:s=u=i[w],l=f=i[w+1],h=i[w++],c=i[w++];var J=i[w++],Te=i[w++];if(v){var D=d[y++];if(p+D>m){var xt=m-p;t.moveTo(h,c),t.lineTo(h+Ws(xt,J),c),xt-=J,xt>0&&t.lineTo(h+J,c+Ws(xt,Te)),xt-=Te,xt>0&&t.lineTo(h+Us(J-xt,0),c+Te),xt-=J,xt>0&&t.lineTo(h,c+Us(Te-xt,0));break t}p+=D}t.rect(h,c,J,Te);break;case rt.Z:if(v){var D=d[y++];if(p+D>m){var L=(m-p)/D;t.lineTo(u*(1-L)+s*L,f*(1-L)+l*L);break t}p+=D}t.closePath(),u=s,f=l}}},r.prototype.clone=function(){var t=new r,e=this.data;return t.data=e.slice?e.slice():Array.prototype.slice.call(e),t._len=this._len,t},r.CMD=rt,r.initDefaultProps=(function(){var t=r.prototype;t._saveData=!0,t._ux=0,t._uy=0,t._pendingPtDist=0,t._version=0})(),r})();function ui(r,t,e,i,n,a,o){if(n===0)return!1;var s=n,l=0,u=r;if(o>t+s&&o>i+s||or+s&&a>e+s||at+h&&f>i+h&&f>a+h&&f>s+h||fr+h&&u>e+h&&u>n+h&&u>o+h||ut+u&&l>i+u&&l>a+u||lr+u&&s>e+u&&s>n+u||se||f+un&&(n+=Ji);var c=Math.atan2(l,s);return c<0&&(c+=Ji),c>=i&&c<=n||c+Ji>=i&&c+Ji<=n}function kr(r,t,e,i,n,a){if(a>t&&a>i||an?s:0}var je=ti.CMD,Or=Math.PI*2,q_=1e-4;function K_(r,t){return Math.abs(r-t)t&&u>i&&u>a&&u>s||u1&&Q_(),v=At(t,i,a,s,ae[0]),c>1&&(d=At(t,i,a,s,ae[1]))),c===2?pt&&s>i&&s>a||s=0&&u<=1){for(var f=0,h=Wt(t,i,a,u),c=0;ce||s<-e)return 0;var l=Math.sqrt(e*e-s*s);kt[0]=-l,kt[1]=l;var u=Math.abs(i-n);if(u<1e-4)return 0;if(u>=Or-1e-4){i=0,n=Or;var f=a?1:-1;return o>=kt[0]+r&&o<=kt[1]+r?f:0}if(i>n){var h=i;i=n,n=h}i<0&&(i+=Or,n+=Or);for(var c=0,v=0;v<2;v++){var d=kt[v];if(d+r>o){var g=Math.atan2(s,d),f=a?1:-1;g<0&&(g=Or+g),(g>=i&&g<=n||g+Or>=i&&g+Or<=n)&&(g>Math.PI/2&&g1&&(e||(s+=kr(l,u,f,h,i,n))),p&&(l=a[d],u=a[d+1],f=l,h=u),g){case je.M:f=a[d++],h=a[d++],l=f,u=h;break;case je.L:if(e){if(ui(l,u,a[d],a[d+1],t,i,n))return!0}else s+=kr(l,u,a[d],a[d+1],i,n)||0;l=a[d++],u=a[d++];break;case je.C:if(e){if(X_(l,u,a[d++],a[d++],a[d++],a[d++],a[d],a[d+1],t,i,n))return!0}else s+=J_(l,u,a[d++],a[d++],a[d++],a[d++],a[d],a[d+1],i,n)||0;l=a[d++],u=a[d++];break;case je.Q:if(e){if($_(l,u,a[d++],a[d++],a[d],a[d+1],t,i,n))return!0}else s+=j_(l,u,a[d++],a[d++],a[d],a[d+1],i,n)||0;l=a[d++],u=a[d++];break;case je.A:var y=a[d++],m=a[d++],_=a[d++],S=a[d++],b=a[d++],w=a[d++];d+=1;var x=!!(1-a[d++]);c=Math.cos(b)*_+y,v=Math.sin(b)*S+m,p?(f=c,h=v):s+=kr(l,u,c,v,i,n);var T=(i-y)*S/_+y;if(e){if(Z_(y,m,S,b,b+w,x,t,T,n))return!0}else s+=t1(y,m,S,b,b+w,x,T,n);l=Math.cos(b+w)*_+y,u=Math.sin(b+w)*S+m;break;case je.R:f=l=a[d++],h=u=a[d++];var C=a[d++],M=a[d++];if(c=f+C,v=h+M,e){if(ui(f,h,c,h,t,i,n)||ui(c,h,c,v,t,i,n)||ui(c,v,f,v,t,i,n)||ui(f,v,f,h,t,i,n))return!0}else s+=kr(c,h,c,v,i,n),s+=kr(f,v,f,h,i,n);break;case je.Z:if(e){if(ui(l,u,f,h,t,i,n))return!0}else s+=kr(l,u,f,h,i,n);l=f,u=h;break}}return!e&&!K_(u,h)&&(s+=kr(l,u,f,h,i,n)||0),s!==0}function e1(r,t,e){return _p(r,0,!1,t,e)}function r1(r,t,e,i){return _p(r,t,!0,e,i)}var Sp=ot({fill:"#000",stroke:null,strokePercent:1,fillOpacity:1,strokeOpacity:1,lineDashOffset:0,lineWidth:1,lineCap:"butt",miterLimit:10,strokeNoScale:!1,strokeFirst:!1},Zr),i1={style:ot({fill:!0,stroke:!0,strokePercent:!0,fillOpacity:!0,strokeOpacity:!0,lineDashOffset:!0,lineWidth:!0,miterLimit:!0},Wo.style)},$s=Fn.concat(["invisible","culling","z","z2","zlevel","parent"]),st=(function(r){N(t,r);function t(e){return r.call(this,e)||this}return t.prototype.update=function(){var e=this;r.prototype.update.call(this);var i=this.style;if(i.decal){var n=this._decalEl=this._decalEl||new t;n.buildPath===t.prototype.buildPath&&(n.buildPath=function(l){e.buildPath(l,e.shape)}),n.silent=!0;var a=n.style;for(var o in i)a[o]!==i[o]&&(a[o]=i[o]);a.fill=i.fill?i.decal:null,a.decal=null,a.shadowColor=null,i.strokeFirst&&(a.stroke=null);for(var s=0;s<$s.length;++s)n[$s[s]]=this[$s[s]];n.__dirty|=Qt}else this._decalEl&&(this._decalEl=null)},t.prototype.getDecalElement=function(){return this._decalEl},t.prototype._init=function(e){var i=dt(e);this.shape=this.getDefaultShape();var n=this.getDefaultStyle();n&&this.useStyle(n);for(var a=0;a.5?Jl:i>.2?z0:jl}else if(e)return jl}return Jl},t.prototype.getInsideTextStroke=function(e){var i=this.style.fill;if(V(i)){var n=this.__zr,a=!!(n&&n.isDarkMode()),o=vo(e,0)0))},t.prototype.hasFill=function(){var e=this.style,i=e.fill;return i!=null&&i!=="none"},t.prototype.getBoundingRect=function(){var e=this._rect,i=this.style,n=!e;if(n){var a=!1;this.path||(a=!0,this.createPathProxy());var o=this.path;(a||this.__dirty&Si)&&(o.beginPath(),this.buildPath(o,this.shape,!1),this.pathUpdated()),e=o.getBoundingRect()}if(this._rect=e,this.hasStroke()&&this.path&&this.path.len()>0){var s=this._rectStroke||(this._rectStroke=e.clone());if(this.__dirty||n){s.copy(e);var l=i.strokeNoScale?this.getLineScale():1,u=i.lineWidth;if(!this.hasFill()){var f=this.strokeContainThreshold;u=Math.max(u,f??4)}l>1e-10&&(s.width+=u/l,s.height+=u/l,s.x-=u/l/2,s.y-=u/l/2)}return s}return e},t.prototype.contain=function(e,i){var n=this.transformCoordToLocal(e,i),a=this.getBoundingRect(),o=this.style;if(e=n[0],i=n[1],a.contain(e,i)){var s=this.path;if(this.hasStroke()){var l=o.lineWidth,u=o.strokeNoScale?this.getLineScale():1;if(u>1e-10&&(this.hasFill()||(l=Math.max(l,this.strokeContainThreshold)),r1(s,l/u,e,i)))return!0}if(this.hasFill())return e1(s,e,i)}return!1},t.prototype.dirtyShape=function(){this.__dirty|=Si,this._rect&&(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(e,i){e==="shape"?this.setShape(i):r.prototype.attrKV.call(this,e,i)},t.prototype.setShape=function(e,i){var n=this.shape;return n||(n=this.shape={}),typeof e=="string"?n[e]=i:B(n,e),this.dirtyShape(),this},t.prototype.shapeChanged=function(){return!!(this.__dirty&Si)},t.prototype.createStyle=function(e){return Fo(Sp,e)},t.prototype._innerSaveToNormal=function(e){r.prototype._innerSaveToNormal.call(this,e);var i=this._normalState;e.shape&&!i.shape&&(i.shape=B({},this.shape))},t.prototype._applyStateObj=function(e,i,n,a,o,s){r.prototype._applyStateObj.call(this,e,i,n,a,o,s);var l=!(i&&a),u;if(i&&i.shape?o?a?u=i.shape:(u=B({},n.shape),B(u,i.shape)):(u=B({},a?this.shape:n.shape),B(u,i.shape)):l&&(u=n.shape),u)if(o){this.shape=B({},this.shape);for(var f={},h=dt(u),c=0;c0},t.prototype.hasFill=function(){var e=this.style,i=e.fill;return i!=null&&i!=="none"},t.prototype.createStyle=function(e){return Fo(n1,e)},t.prototype.setBoundingRect=function(e){this._rect=e},t.prototype.getBoundingRect=function(){var e=this.style;if(!this._rect){var i=e.text;i!=null?i+="":i="";var n=Ju(i,e.font,e.textAlign,e.textBaseline);if(n.x+=e.x||0,n.y+=e.y||0,this.hasStroke()){var a=e.lineWidth;n.x-=a/2,n.y-=a/2,n.width+=a,n.height+=a}this._rect=n}return this._rect},t.initDefaultProps=(function(){var e=t.prototype;e.dirtyRectTolerance=10})(),t})(ra);mo.prototype.type="tspan";var a1=ot({x:0,y:0},Zr),o1={style:ot({x:!0,y:!0,width:!0,height:!0,sx:!0,sy:!0,sWidth:!0,sHeight:!0},Wo.style)};function s1(r){return!!(r&&typeof r!="string"&&r.width&&r.height)}var Sr=(function(r){N(t,r);function t(){return r!==null&&r.apply(this,arguments)||this}return t.prototype.createStyle=function(e){return Fo(a1,e)},t.prototype._getSize=function(e){var i=this.style,n=i[e];if(n!=null)return n;var a=s1(i.image)?i.image:this.__image;if(!a)return 0;var o=e==="width"?"height":"width",s=i[o];return s==null?a[e]:a[e]/a[o]*s},t.prototype.getWidth=function(){return this._getSize("width")},t.prototype.getHeight=function(){return this._getSize("height")},t.prototype.getAnimationStyleProps=function(){return o1},t.prototype.getBoundingRect=function(){var e=this.style;return this._rect||(this._rect=new at(e.x||0,e.y||0,this.getWidth(),this.getHeight())),this._rect},t})(ra);Sr.prototype.type="image";function l1(r,t){var e=t.x,i=t.y,n=t.width,a=t.height,o=t.r,s,l,u,f;n<0&&(e=e+n,n=-n),a<0&&(i=i+a,a=-a),typeof o=="number"?s=l=u=f=o:o instanceof Array?o.length===1?s=l=u=f=o[0]:o.length===2?(s=u=o[0],l=f=o[1]):o.length===3?(s=o[0],l=f=o[1],u=o[2]):(s=o[0],l=o[1],u=o[2],f=o[3]):s=l=u=f=0;var h;s+l>n&&(h=s+l,s*=n/h,l*=n/h),u+f>n&&(h=u+f,u*=n/h,f*=n/h),l+u>a&&(h=l+u,l*=a/h,u*=a/h),s+f>a&&(h=s+f,s*=a/h,f*=a/h),r.moveTo(e+s,i),r.lineTo(e+n-l,i),l!==0&&r.arc(e+n-l,i+l,l,-Math.PI/2,0),r.lineTo(e+n,i+a-u),u!==0&&r.arc(e+n-u,i+a-u,u,0,Math.PI/2),r.lineTo(e+f,i+a),f!==0&&r.arc(e+f,i+a-f,f,Math.PI/2,Math.PI),r.lineTo(e,i+s),s!==0&&r.arc(e+s,i+s,s,Math.PI,Math.PI*1.5)}var Ci=Math.round;function wp(r,t,e){if(t){var i=t.x1,n=t.x2,a=t.y1,o=t.y2;r.x1=i,r.x2=n,r.y1=a,r.y2=o;var s=e&&e.lineWidth;return s&&(Ci(i*2)===Ci(n*2)&&(r.x1=r.x2=Yr(i,s,!0)),Ci(a*2)===Ci(o*2)&&(r.y1=r.y2=Yr(a,s,!0))),r}}function bp(r,t,e){if(t){var i=t.x,n=t.y,a=t.width,o=t.height;r.x=i,r.y=n,r.width=a,r.height=o;var s=e&&e.lineWidth;return s&&(r.x=Yr(i,s,!0),r.y=Yr(n,s,!0),r.width=Math.max(Yr(i+a,s,!1)-r.x,a===0?0:1),r.height=Math.max(Yr(n+o,s,!1)-r.y,o===0?0:1)),r}}function Yr(r,t,e){if(!t)return r;var i=Ci(r*2);return(i+Ci(t))%2===0?i/2:(i+(e?1:-1))/2}var u1=(function(){function r(){this.x=0,this.y=0,this.width=0,this.height=0}return r})(),f1={},bt=(function(r){N(t,r);function t(e){return r.call(this,e)||this}return t.prototype.getDefaultShape=function(){return new u1},t.prototype.buildPath=function(e,i){var n,a,o,s;if(this.subPixelOptimize){var l=bp(f1,i,this.style);n=l.x,a=l.y,o=l.width,s=l.height,l.r=i.r,i=l}else n=i.x,a=i.y,o=i.width,s=i.height;i.r?l1(e,i):e.rect(n,a,o,s)},t.prototype.isZeroArea=function(){return!this.shape.width||!this.shape.height},t})(st);bt.prototype.type="rect";var zh={fill:"#000"},Gh=2,h1={style:ot({fill:!0,stroke:!0,fillOpacity:!0,strokeOpacity:!0,lineWidth:!0,fontSize:!0,lineHeight:!0,width:!0,height:!0,textShadowColor:!0,textShadowBlur:!0,textShadowOffsetX:!0,textShadowOffsetY:!0,backgroundColor:!0,padding:!0,borderColor:!0,borderWidth:!0,borderRadius:!0},Wo.style)},Nt=(function(r){N(t,r);function t(e){var i=r.call(this)||this;return i.type="text",i._children=[],i._defaultStyle=zh,i.attr(e),i}return t.prototype.childrenRef=function(){return this._children},t.prototype.update=function(){r.prototype.update.call(this),this.styleChanged()&&this._updateSubTexts();for(var e=0;e0,L=e.width!=null&&(e.overflow==="truncate"||e.overflow==="break"||e.overflow==="breakAll"),I=o.calculatedLineHeight,P=0;P=0&&(P=w[I],P.align==="right");)this._placeToken(P,e,T,y,L,"right",_),C-=P.width,L-=P.width,I--;for(D+=(a-(D-p)-(m-L)-C)/2;M<=I;)P=w[M],this._placeToken(P,e,T,y,D+P.width/2,"center",_),D+=P.width,M++;y+=T}},t.prototype._placeToken=function(e,i,n,a,o,s,l){var u=i.rich[e.styleName]||{};u.text=e.text;var f=e.verticalAlign,h=a+n/2;f==="top"?h=a+e.height/2:f==="bottom"&&(h=a+n-e.height/2);var c=!e.isLineHolder&&Zs(u);c&&this._renderBackground(u,i,s==="right"?o-e.width:s==="center"?o-e.width/2:o,h-e.height/2,e.width,e.height);var v=!!u.backgroundColor,d=e.textPadding;d&&(o=Xh(o,s,d),h-=e.height/2-d[0]-e.innerHeight/2);var g=this._getOrCreateChild(mo),p=g.createStyle();g.useStyle(p);var y=this._defaultStyle,m=!1,_=0,S=Yh("fill"in u?u.fill:"fill"in i?i.fill:(m=!0,y.fill)),b=Uh("stroke"in u?u.stroke:"stroke"in i?i.stroke:!v&&!l&&(!y.autoStroke||m)?(_=Gh,y.stroke):null),w=u.textShadowBlur>0||i.textShadowBlur>0;p.text=e.text,p.x=o,p.y=h,w&&(p.shadowBlur=u.textShadowBlur||i.textShadowBlur||0,p.shadowColor=u.textShadowColor||i.textShadowColor||"transparent",p.shadowOffsetX=u.textShadowOffsetX||i.textShadowOffsetX||0,p.shadowOffsetY=u.textShadowOffsetY||i.textShadowOffsetY||0),p.textAlign=s,p.textBaseline="middle",p.font=e.font||Qr,p.opacity=wn(u.opacity,i.opacity,1),Vh(p,u),b&&(p.lineWidth=wn(u.lineWidth,i.lineWidth,_),p.lineDash=K(u.lineDash,i.lineDash),p.lineDashOffset=i.lineDashOffset||0,p.stroke=b),S&&(p.fill=S);var x=e.contentWidth,T=e.contentHeight;g.setBoundingRect(new at(pn(p.x,x,p.textAlign),wi(p.y,T,p.textBaseline),x,T))},t.prototype._renderBackground=function(e,i,n,a,o,s){var l=e.backgroundColor,u=e.borderWidth,f=e.borderColor,h=l&&l.image,c=l&&!h,v=e.borderRadius,d=this,g,p;if(c||e.lineHeight||u&&f){g=this._getOrCreateChild(bt),g.useStyle(g.createStyle()),g.style.fill=null;var y=g.shape;y.x=n,y.y=a,y.width=o,y.height=s,y.r=v,g.dirtyShape()}if(c){var m=g.style;m.fill=l||null,m.fillOpacity=K(e.fillOpacity,1)}else if(h){p=this._getOrCreateChild(Sr),p.onload=function(){d.dirtyStyle()};var _=p.style;_.image=l.image,_.x=n,_.y=a,_.width=o,_.height=s}if(u&&f){var m=g.style;m.lineWidth=u,m.stroke=f,m.strokeOpacity=K(e.strokeOpacity,1),m.lineDash=e.borderDash,m.lineDashOffset=e.borderDashOffset||0,g.strokeContainThreshold=0,g.hasFill()&&g.hasStroke()&&(m.strokeFirst=!0,m.lineWidth*=2)}var S=(g||p).style;S.shadowBlur=e.shadowBlur||0,S.shadowColor=e.shadowColor||"transparent",S.shadowOffsetX=e.shadowOffsetX||0,S.shadowOffsetY=e.shadowOffsetY||0,S.opacity=wn(e.opacity,i.opacity,1)},t.makeFont=function(e){var i="";return p1(e)&&(i=[e.fontStyle,e.fontWeight,d1(e.fontSize),e.fontFamily||"sans-serif"].join(" ")),i&&Pe(i)||e.textFont||e.font},t})(ra),v1={left:!0,right:1,center:1},c1={top:1,bottom:1,middle:1},Hh=["fontStyle","fontWeight","fontSize","fontFamily"];function d1(r){return typeof r=="string"&&(r.indexOf("px")!==-1||r.indexOf("rem")!==-1||r.indexOf("em")!==-1)?r:isNaN(+r)?Hu+"px":r+"px"}function Vh(r,t){for(var e=0;e=0,a=!1;if(r instanceof st){var o=xp(r),s=n&&o.selectFill||o.normalFill,l=n&&o.selectStroke||o.normalStroke;if(fi(s)||fi(l)){i=i||{};var u=i.style||{};u.fill==="inherit"?(a=!0,i=B({},i),u=B({},u),u.fill=s):!fi(u.fill)&&fi(s)?(a=!0,i=B({},i),u=B({},u),u.fill=gh(s)):!fi(u.stroke)&&fi(l)&&(a||(i=B({},i),u=B({},u)),u.stroke=gh(l)),i.style=u}}if(i&&i.z2==null){a||(i=B({},i));var f=r.z2EmphasisLift;i.z2=r.z2+(f??m1)}return i}function T1(r,t,e){if(e&&e.z2==null){e=B({},e);var i=r.z2SelectLift;e.z2=r.z2+(i??_1)}return e}function C1(r,t,e){var i=ut(r.currentStates,t)>=0,n=r.style.opacity,a=i?null:b1(r,["opacity"],t,{opacity:1});e=e||{};var o=e.style||{};return o.opacity==null&&(e=B({},e),o=B({opacity:i?n:a.opacity*.1},o),e.style=o),e}function qs(r,t){var e=this.states[r];if(this.style){if(r==="emphasis")return x1(this,r,t,e);if(r==="blur")return C1(this,r,e);if(r==="select")return T1(this,r,e)}return e}function D1(r){r.stateProxy=qs;var t=r.getTextContent(),e=r.getTextGuideLine();t&&(t.stateProxy=qs),e&&(e.stateProxy=qs)}function Jh(r,t){!Ip(r,t)&&!r.__highByOuter&&Ke(r,Tp)}function jh(r,t){!Ip(r,t)&&!r.__highByOuter&&Ke(r,Cp)}function So(r,t){r.__highByOuter|=1<<(t||0),Ke(r,Tp)}function wo(r,t){!(r.__highByOuter&=~(1<<(t||0)))&&Ke(r,Cp)}function M1(r){Ke(r,sf)}function Mp(r){Ke(r,Dp)}function Ap(r){Ke(r,S1)}function Lp(r){Ke(r,w1)}function Ip(r,t){return r.__highDownSilentOnTouch&&t.zrByTouch}function Pp(r){var t=r.getModel(),e=[],i=[];t.eachComponent(function(n,a){var o=af(a),s=n==="series",l=s?r.getViewOfSeriesModel(a):r.getViewOfComponentModel(a);!s&&i.push(l),o.isBlured&&(l.group.traverse(function(u){Dp(u)}),s&&e.push(a)),o.isBlured=!1}),A(i,function(n){n&&n.toggleBlurSeries&&n.toggleBlurSeries(e,!1,t)})}function au(r,t,e,i){var n=i.getModel();e=e||"coordinateSystem";function a(u,f){for(var h=0;h0){var s={dataIndex:o,seriesIndex:e.seriesIndex};a!=null&&(s.dataType=a),t.push(s)}})}),t}function su(r,t,e){Rp(r,!0),Ke(r,D1),k1(r,t,e)}function E1(r){Rp(r,!1)}function Hn(r,t,e,i){i?E1(r):su(r,t,e)}function k1(r,t,e){var i=it(r);t!=null?(i.focus=t,i.blurScope=e):i.focus&&(i.focus=null)}var ev=["emphasis","blur","select"],O1={itemStyle:"getItemStyle",lineStyle:"getLineStyle",areaStyle:"getAreaStyle"};function bo(r,t,e,i){e=e||"itemStyle";for(var n=0;n1&&(o*=Ks(d),s*=Ks(d));var g=(n===a?-1:1)*Ks((o*o*(s*s)-o*o*(v*v)-s*s*(c*c))/(o*o*(v*v)+s*s*(c*c)))||0,p=g*o*v/s,y=g*-s*c/o,m=(r+e)/2+wa(h)*p-Sa(h)*y,_=(t+i)/2+Sa(h)*p+wa(h)*y,S=av([1,0],[(c-p)/o,(v-y)/s]),b=[(c-p)/o,(v-y)/s],w=[(-1*c-p)/o,(-1*v-y)/s],x=av(b,w);if(fu(b,w)<=-1&&(x=ji),fu(b,w)>=1&&(x=0),x<0){var T=Math.round(x/ji*1e6)/1e6;x=ji*2+T%2*ji}f.addData(u,m,_,o,s,S,x,h,a)}var H1=/([mlvhzcqtsa])([^mlvhzcqtsa]*)/ig,V1=/-?([0-9]*\.)?[0-9]+([eE]-?[0-9]+)?/g;function W1(r){var t=new ti;if(!r)return t;var e=0,i=0,n=e,a=i,o,s=ti.CMD,l=r.match(H1);if(!l)return t;for(var u=0;uP*P+R*R&&(T=M,C=D),{cx:T,cy:C,x0:-f,y0:-h,x1:T*(n/b-1),y1:C*(n/b-1)}}function Q1(r){var t;if(z(r)){var e=r.length;if(!e)return r;e===1?t=[r[0],r[0],0,0]:e===2?t=[r[0],r[0],r[1],r[1]]:e===3?t=r.concat(r[2]):t=r}else t=[r,r,r,r];return t}function J1(r,t){var e,i=gn(t.r,0),n=gn(t.r0||0,0),a=i>0,o=n>0;if(!(!a&&!o)){if(a||(i=n,n=0),n>i){var s=i;i=n,n=s}var l=t.startAngle,u=t.endAngle;if(!(isNaN(l)||isNaN(u))){var f=t.cx,h=t.cy,c=!!t.clockwise,v=sv(u-l),d=v>Qs&&v%Qs;if(d>ye&&(v=d),!(i>ye))r.moveTo(f,h);else if(v>Qs-ye)r.moveTo(f+i*vi(l),h+i*Br(l)),r.arc(f,h,i,l,u,!c),n>ye&&(r.moveTo(f+n*vi(u),h+n*Br(u)),r.arc(f,h,n,u,l,c));else{var g=void 0,p=void 0,y=void 0,m=void 0,_=void 0,S=void 0,b=void 0,w=void 0,x=void 0,T=void 0,C=void 0,M=void 0,D=void 0,L=void 0,I=void 0,P=void 0,R=i*vi(l),E=i*Br(l),G=n*vi(u),k=n*Br(u),O=v>ye;if(O){var F=t.cornerRadius;F&&(e=Q1(F),g=e[0],p=e[1],y=e[2],m=e[3]);var H=sv(i-n)/2;if(_=Ae(H,y),S=Ae(H,m),b=Ae(H,g),w=Ae(H,p),C=x=gn(_,S),M=T=gn(b,w),(x>ye||T>ye)&&(D=i*vi(u),L=i*Br(u),I=n*vi(l),P=n*Br(l),vye){var Tt=Ae(y,C),yt=Ae(m,C),X=ba(I,P,R,E,i,Tt,c),J=ba(D,L,G,k,i,yt,c);r.moveTo(f+X.cx+X.x0,h+X.cy+X.y0),C0&&r.arc(f+X.cx,h+X.cy,Tt,It(X.y0,X.x0),It(X.y1,X.x1),!c),r.arc(f,h,i,It(X.cy+X.y1,X.cx+X.x1),It(J.cy+J.y1,J.cx+J.x1),!c),yt>0&&r.arc(f+J.cx,h+J.cy,yt,It(J.y1,J.x1),It(J.y0,J.x0),!c))}else r.moveTo(f+R,h+E),r.arc(f,h,i,l,u,!c);if(!(n>ye)||!O)r.lineTo(f+G,h+k);else if(M>ye){var Tt=Ae(g,M),yt=Ae(p,M),X=ba(G,k,D,L,n,-yt,c),J=ba(R,E,I,P,n,-Tt,c);r.lineTo(f+X.cx+X.x0,h+X.cy+X.y0),M0&&r.arc(f+X.cx,h+X.cy,yt,It(X.y0,X.x0),It(X.y1,X.x1),!c),r.arc(f,h,n,It(X.cy+X.y1,X.cx+X.x1),It(J.cy+J.y1,J.cx+J.x1),c),Tt>0&&r.arc(f+J.cx,h+J.cy,Tt,It(J.y1,J.x1),It(J.y0,J.x0),!c))}else r.lineTo(f+G,h+k),r.arc(f,h,n,u,l,c)}r.closePath()}}}var j1=(function(){function r(){this.cx=0,this.cy=0,this.r0=0,this.r=0,this.startAngle=0,this.endAngle=Math.PI*2,this.clockwise=!0,this.cornerRadius=0}return r})(),wr=(function(r){N(t,r);function t(e){return r.call(this,e)||this}return t.prototype.getDefaultShape=function(){return new j1},t.prototype.buildPath=function(e,i){J1(e,i)},t.prototype.isZeroArea=function(){return this.shape.startAngle===this.shape.endAngle||this.shape.r===this.shape.r0},t})(st);wr.prototype.type="sector";var tS=(function(){function r(){this.cx=0,this.cy=0,this.r=0,this.r0=0}return r})(),ff=(function(r){N(t,r);function t(e){return r.call(this,e)||this}return t.prototype.getDefaultShape=function(){return new tS},t.prototype.buildPath=function(e,i){var n=i.cx,a=i.cy,o=Math.PI*2;e.moveTo(n+i.r,a),e.arc(n,a,i.r,0,o,!1),e.moveTo(n+i.r0,a),e.arc(n,a,i.r0,0,o,!0)},t})(st);ff.prototype.type="ring";function eS(r,t,e,i){var n=[],a=[],o=[],s=[],l,u,f,h;if(i){f=[1/0,1/0],h=[-1/0,-1/0];for(var c=0,v=r.length;c=2){if(i){var a=eS(n,i,e,t.smoothConstraint);r.moveTo(n[0][0],n[0][1]);for(var o=n.length,s=0;s<(e?o:o-1);s++){var l=a[s*2],u=a[s*2+1],f=n[(s+1)%o];r.bezierCurveTo(l[0],l[1],u[0],u[1],f[0],f[1])}}else{r.moveTo(n[0][0],n[0][1]);for(var s=1,h=n.length;sFr[1]){if(s=!1,a)return s;var f=Math.abs(Fr[0]-Nr[1]),h=Math.abs(Nr[0]-Fr[1]);Math.min(f,h)>n.len()&&(f0){var h=f.duration,c=f.delay,v=f.easing,d={duration:h,delay:c||0,easing:v,done:a,force:!!a||!!o,setToFinal:!u,scope:r,during:o};s?t.animateFrom(e,d):t.animateTo(e,d)}else t.stopAnimation(),!s&&t.attr(e),o&&o(1),a&&a()}function Ft(r,t,e,i,n,a){cf("update",r,t,e,i,n,a)}function he(r,t,e,i,n,a){cf("enter",r,t,e,i,n,a)}function Ln(r){if(!r.__zr)return!0;for(var t=0;tMath.abs(a[1])?a[0]>0?"right":"left":a[1]>0?"bottom":"top"}function fv(r){return!r.isGroup}function xS(r){return r.shape!=null}function Wp(r,t,e){if(!r||!t)return;function i(o){var s={};return o.traverse(function(l){fv(l)&&l.anid&&(s[l.anid]=l)}),s}function n(o){var s={x:o.x,y:o.y,rotation:o.rotation};return xS(o)&&(s.shape=B({},o.shape)),s}var a=i(r);t.traverse(function(o){if(fv(o)&&o.anid){var s=a[o.anid];if(s){var l=n(o);o.attr(n(s)),Ft(o,l,e,it(o).dataIndex)}}})}function TS(r,t){return U(r,function(e){var i=e[0];i=Do(i,t.x),i=Mo(i,t.x+t.width);var n=e[1];return n=Do(n,t.y),n=Mo(n,t.y+t.height),[i,n]})}function CS(r,t){var e=Do(r.x,t.x),i=Mo(r.x+r.width,t.x+t.width),n=Do(r.y,t.y),a=Mo(r.y+r.height,t.y+t.height);if(i>=e&&a>=n)return{x:e,y:n,width:i-e,height:a-n}}function yf(r,t,e){var i=B({rectHover:!0},t),n=i.style={strokeNoScale:!0};if(e=e||{x:-1,y:-1,width:2,height:2},r)return r.indexOf("image://")===0?(n.image=r.slice(8),ot(n,e),new Sr(i)):pf(r.replace("path://",""),i,e,"center")}function DS(r,t,e,i,n){for(var a=0,o=n[n.length-1];a1)return!1;var p=Js(v,d,f,h)/c;return!(p<0||p>1)}function Js(r,t,e,i){return r*i-e*t}function MS(r){return r<=1e-6&&r>=-1e-6}function qo(r){var t=r.itemTooltipOption,e=r.componentModel,i=r.itemName,n=V(t)?{formatter:t}:t,a=e.mainType,o=e.componentIndex,s={componentType:a,name:i,$vars:["name"]};s[a+"Index"]=o;var l=r.formatterParamsExtra;l&&A(dt(l),function(f){Jr(s,f)||(s[f]=l[f],s.$vars.push(f))});var u=it(r.el);u.componentMainType=a,u.componentIndex=o,u.tooltipConfig={name:i,option:ot({content:i,encodeHTMLContent:!0,formatterParams:s},n)}}function hv(r,t){var e;r.isGroup&&(e=t(r)),e||r.traverse(t)}function Ko(r,t){if(r)if(z(r))for(var e=0;e=0&&s.push(l)}),s}}function $p(r,t){return nt(nt({},r,!0),t,!0)}const WS={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:". "}}}},US={time:{month:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],monthAbbr:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],dayOfWeek:["星期日","星期一","星期二","星期三","星期四","星期五","星期六"],dayOfWeekAbbr:["日","一","二","三","四","五","六"]},legend:{selector:{all:"全选",inverse:"反选"}},toolbox:{brush:{title:{rect:"矩形选择",polygon:"圈选",lineX:"横向选择",lineY:"纵向选择",keep:"保持选择",clear:"清除选择"}},dataView:{title:"数据视图",lang:["数据视图","关闭","刷新"]},dataZoom:{title:{zoom:"区域缩放",back:"区域缩放还原"}},magicType:{title:{line:"切换为折线图",bar:"切换为柱状图",stack:"切换为堆叠",tiled:"切换为平铺"}},restore:{title:"还原"},saveAsImage:{title:"保存为图片",lang:["右键另存为图片"]}},series:{typeNames:{pie:"饼图",bar:"柱状图",line:"折线图",scatter:"散点图",effectScatter:"涟漪散点图",radar:"雷达图",tree:"树图",treemap:"矩形树图",boxplot:"箱型图",candlestick:"K线图",k:"K线图",heatmap:"热力图",map:"地图",parallel:"平行坐标图",lines:"线图",graph:"关系图",sankey:"桑基图",funnel:"漏斗图",gauge:"仪表盘图",pictorialBar:"象形柱图",themeRiver:"主题河流图",sunburst:"旭日图",custom:"自定义图表",chart:"图表"}},aria:{general:{withTitle:"这是一个关于“{title}”的图表。",withoutTitle:"这是一个图表,"},series:{single:{prefix:"",withName:"图表类型是{seriesType},表示{seriesName}。",withoutName:"图表类型是{seriesType}。"},multiple:{prefix:"它由{seriesCount}个图表系列组成。",withName:"第{seriesId}个系列是一个表示{seriesName}的{seriesType},",withoutName:"第{seriesId}个系列是一个{seriesType},",separator:{middle:";",end:"。"}}},data:{allData:"其数据是——",partialData:"其中,前{displayCnt}项是——",withName:"{name}的数据是{value}",withoutName:"{value}",separator:{middle:",",end:""}}}};var Ao="ZH",mf="EN",Ii=mf,eo={},_f={},Zp=$.domSupported?(function(){var r=(document.documentElement.lang||navigator.language||navigator.browserLanguage||Ii).toUpperCase();return r.indexOf(Ao)>-1?Ao:Ii})():Ii;function qp(r,t){r=r.toUpperCase(),_f[r]=new gt(t),eo[r]=t}function YS(r){if(V(r)){var t=eo[r.toUpperCase()]||{};return r===Ao||r===mf?tt(t):nt(tt(t),tt(eo[Ii]),!1)}else return nt(tt(r),tt(eo[Ii]),!1)}function XS(r){return _f[r]}function $S(){return _f[Ii]}qp(mf,WS);qp(Ao,US);var Sf=1e3,wf=Sf*60,In=wf*60,ue=In*24,mv=ue*365,yn={year:"{yyyy}",month:"{MMM}",day:"{d}",hour:"{HH}:{mm}",minute:"{HH}:{mm}",second:"{HH}:{mm}:{ss}",millisecond:"{HH}:{mm}:{ss} {SSS}",none:"{yyyy}-{MM}-{dd} {HH}:{mm}:{ss} {SSS}"},Ca="{yyyy}-{MM}-{dd}",_v={year:"{yyyy}",month:"{yyyy}-{MM}",day:Ca,hour:Ca+" "+yn.hour,minute:Ca+" "+yn.minute,second:Ca+" "+yn.second,millisecond:yn.none},el=["year","month","day","hour","minute","second","millisecond"],Kp=["year","half-year","quarter","month","week","half-week","day","half-day","quarter-day","hour","minute","second","millisecond"];function tr(r,t){return r+="","0000".substr(0,t-r.length)+r}function Pi(r){switch(r){case"half-year":case"quarter":return"month";case"week":case"half-week":return"day";case"half-day":case"quarter-day":return"hour";default:return r}}function ZS(r){return r===Pi(r)}function qS(r){switch(r){case"year":case"month":return"day";case"millisecond":return"millisecond";default:return"second"}}function ts(r,t,e,i){var n=qe(r),a=n[bf(e)](),o=n[Ri(e)]()+1,s=Math.floor((o-1)/3)+1,l=n[es(e)](),u=n["get"+(e?"UTC":"")+"Day"](),f=n[Wn(e)](),h=(f-1)%12+1,c=n[rs(e)](),v=n[is(e)](),d=n[ns(e)](),g=f>=12?"pm":"am",p=g.toUpperCase(),y=i instanceof gt?i:XS(i||Zp)||$S(),m=y.getModel("time"),_=m.get("month"),S=m.get("monthAbbr"),b=m.get("dayOfWeek"),w=m.get("dayOfWeekAbbr");return(t||"").replace(/{a}/g,g+"").replace(/{A}/g,p+"").replace(/{yyyy}/g,a+"").replace(/{yy}/g,tr(a%100+"",2)).replace(/{Q}/g,s+"").replace(/{MMMM}/g,_[o-1]).replace(/{MMM}/g,S[o-1]).replace(/{MM}/g,tr(o,2)).replace(/{M}/g,o+"").replace(/{dd}/g,tr(l,2)).replace(/{d}/g,l+"").replace(/{eeee}/g,b[u]).replace(/{ee}/g,w[u]).replace(/{e}/g,u+"").replace(/{HH}/g,tr(f,2)).replace(/{H}/g,f+"").replace(/{hh}/g,tr(h+"",2)).replace(/{h}/g,h+"").replace(/{mm}/g,tr(c,2)).replace(/{m}/g,c+"").replace(/{ss}/g,tr(v,2)).replace(/{s}/g,v+"").replace(/{SSS}/g,tr(d,3)).replace(/{S}/g,d+"")}function KS(r,t,e,i,n){var a=null;if(V(e))a=e;else if(q(e))a=e(r.value,t,{level:r.level});else{var o=B({},yn);if(r.level>0)for(var s=0;s=0;--s)if(l[u]){a=l[u];break}a=a||o.none}if(z(a)){var h=r.level==null?0:r.level>=0?r.level:a.length+r.level;h=Math.min(h,a.length-1),a=a[h]}}return ts(new Date(r.value),a,n,i)}function Qp(r,t){var e=qe(r),i=e[Ri(t)]()+1,n=e[es(t)](),a=e[Wn(t)](),o=e[rs(t)](),s=e[is(t)](),l=e[ns(t)](),u=l===0,f=u&&s===0,h=f&&o===0,c=h&&a===0,v=c&&n===1,d=v&&i===1;return d?"year":v?"month":c?"day":h?"hour":f?"minute":u?"second":"millisecond"}function Sv(r,t,e){var i=ht(r)?qe(r):r;switch(t=t||Qp(r,e),t){case"year":return i[bf(e)]();case"half-year":return i[Ri(e)]()>=6?1:0;case"quarter":return Math.floor((i[Ri(e)]()+1)/4);case"month":return i[Ri(e)]();case"day":return i[es(e)]();case"half-day":return i[Wn(e)]()/24;case"hour":return i[Wn(e)]();case"minute":return i[rs(e)]();case"second":return i[is(e)]();case"millisecond":return i[ns(e)]()}}function bf(r){return r?"getUTCFullYear":"getFullYear"}function Ri(r){return r?"getUTCMonth":"getMonth"}function es(r){return r?"getUTCDate":"getDate"}function Wn(r){return r?"getUTCHours":"getHours"}function rs(r){return r?"getUTCMinutes":"getMinutes"}function is(r){return r?"getUTCSeconds":"getSeconds"}function ns(r){return r?"getUTCMilliseconds":"getMilliseconds"}function QS(r){return r?"setUTCFullYear":"setFullYear"}function Jp(r){return r?"setUTCMonth":"setMonth"}function jp(r){return r?"setUTCDate":"setDate"}function tg(r){return r?"setUTCHours":"setHours"}function eg(r){return r?"setUTCMinutes":"setMinutes"}function rg(r){return r?"setUTCSeconds":"setSeconds"}function ig(r){return r?"setUTCMilliseconds":"setMilliseconds"}function ng(r){if(!n_(r))return V(r)?r:"-";var t=(r+"").split(".");return t[0].replace(/(\d{1,3})(?=(?:\d{3})+(?!\d))/g,"$1,")+(t.length>1?"."+t[1]:"")}function ag(r,t){return r=(r||"").toLowerCase().replace(/-(.)/g,function(e,i){return i.toUpperCase()}),t&&r&&(r=r.charAt(0).toUpperCase()+r.slice(1)),r}var as=Bd;function vu(r,t,e){var i="{yyyy}-{MM}-{dd} {HH}:{mm}:{ss}";function n(f){return f&&Pe(f)?f:"-"}function a(f){return!!(f!=null&&!isNaN(f)&&isFinite(f))}var o=t==="time",s=r instanceof Date;if(o||s){var l=o?qe(r):r;if(isNaN(+l)){if(s)return"-"}else return ts(l,i,e)}if(t==="ordinal")return Bl(r)?n(r):ht(r)&&a(r)?r+"":"-";var u=yo(r);return a(u)?ng(u):Bl(r)?n(r):typeof r=="boolean"?r+"":"-"}var wv=["a","b","c","d","e","f","g"],rl=function(r,t){return"{"+r+(t??"")+"}"};function og(r,t,e){z(t)||(t=[t]);var i=t.length;if(!i)return"";for(var n=t[0].$vars||[],a=0;a':'';var o=e.markerId||"markerX";return{renderMode:a,content:"{"+o+"|} ",style:n==="subItem"?{width:4,height:4,borderRadius:2,backgroundColor:i}:{width:10,height:10,borderRadius:5,backgroundColor:i}}}function ei(r,t){return t=t||"transparent",V(r)?r:Y(r)&&r.colorStops&&(r.colorStops[0]||{}).color||t}var ro=A,jS=["left","right","top","bottom","width","height"],Da=[["width","left","right"],["height","top","bottom"]];function xf(r,t,e,i,n){var a=0,o=0;i==null&&(i=1/0),n==null&&(n=1/0);var s=0;t.eachChild(function(l,u){var f=l.getBoundingRect(),h=t.childAt(u+1),c=h&&h.getBoundingRect(),v,d;if(r==="horizontal"){var g=f.width+(c?-c.x+f.x:0);v=a+g,v>i||l.newline?(a=0,v=g,o+=s+e,s=f.height):s=Math.max(s,f.height)}else{var p=f.height+(c?-c.y+f.y:0);d=o+p,d>n||l.newline?(a+=s+e,o=0,d=p,s=f.width):s=Math.max(s,f.width)}l.newline||(l.x=a,l.y=o,l.markRedraw(),r==="horizontal"?a=v+e:o=d+e)})}var Pn=xf;_t(xf,"vertical");_t(xf,"horizontal");function Un(r,t,e){e=as(e||0);var i=t.width,n=t.height,a=ct(r.left,i),o=ct(r.top,n),s=ct(r.right,i),l=ct(r.bottom,n),u=ct(r.width,i),f=ct(r.height,n),h=e[2]+e[0],c=e[1]+e[3],v=r.aspect;switch(isNaN(u)&&(u=i-s-c-a),isNaN(f)&&(f=n-l-h-o),v!=null&&(isNaN(u)&&isNaN(f)&&(v>i/n?u=i*.8:f=n*.8),isNaN(u)&&(u=v*f),isNaN(f)&&(f=u/v)),isNaN(a)&&(a=i-s-u-c),isNaN(o)&&(o=n-l-f-h),r.left||r.right){case"center":a=i/2-u/2-e[3];break;case"right":a=i-u-c;break}switch(r.top||r.bottom){case"middle":case"center":o=n/2-f/2-e[0];break;case"bottom":o=n-f-h;break}a=a||0,o=o||0,isNaN(u)&&(u=i-c-a-(s||0)),isNaN(f)&&(f=n-h-o-(l||0));var d=new at(a+e[3],o+e[0],u,f);return d.margin=e,d}function Yn(r){var t=r.layoutMode||r.constructor.layoutMode;return Y(t)?t:t?{type:t}:null}function ki(r,t,e){var i=e&&e.ignoreSize;!z(i)&&(i=[i,i]);var n=o(Da[0],0),a=o(Da[1],1);u(Da[0],r,n),u(Da[1],r,a);function o(f,h){var c={},v=0,d={},g=0,p=2;if(ro(f,function(_){d[_]=r[_]}),ro(f,function(_){s(t,_)&&(c[_]=d[_]=t[_]),l(c,_)&&v++,l(d,_)&&g++}),i[h])return l(t,f[1])?d[f[2]]=null:l(t,f[2])&&(d[f[1]]=null),d;if(g===p||!v)return d;if(v>=p)return c;for(var y=0;y=0;l--)s=nt(s,n[l],!0);i.defaultOption=s}return i.defaultOption},t.prototype.getReferringComponents=function(e,i){var n=e+"Index",a=e+"Id";return ea(this.ecModel,e,{index:this.get(n,!0),id:this.get(a,!0)},i)},t.prototype.getBoxLayoutParams=function(){var e=this;return{left:e.get("left"),top:e.get("top"),right:e.get("right"),bottom:e.get("bottom"),width:e.get("width"),height:e.get("height")}},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})(gt);cp(lt,gt);Ho(lt);HS(lt);VS(lt,rw);function rw(r){var t=[];return A(lt.getClassesByMainType(r),function(e){t=t.concat(e.dependencies||e.prototype.dependencies||[])}),t=U(t,function(e){return Re(e).main}),r!=="dataset"&&ut(t,"dataset")<=0&&t.unshift("dataset"),t}var sg="";typeof navigator<"u"&&(sg=navigator.platform||"");var ci="rgba(0, 0, 0, 0.2)";const iw={darkMode:"auto",colorBy:"series",color:["#5470c6","#91cc75","#fac858","#ee6666","#73c0de","#3ba272","#fc8452","#9a60b4","#ea7ccc"],gradientColor:["#f6efa6","#d88273","#bf444c"],aria:{decal:{decals:[{color:ci,dashArrayX:[1,0],dashArrayY:[2,5],symbolSize:1,rotation:Math.PI/6},{color:ci,symbol:"circle",dashArrayX:[[8,8],[0,8,8,0]],dashArrayY:[6,0],symbolSize:.8},{color:ci,dashArrayX:[1,0],dashArrayY:[4,3],rotation:-Math.PI/4},{color:ci,dashArrayX:[[6,6],[0,6,6,0]],dashArrayY:[6,0]},{color:ci,dashArrayX:[[1,0],[1,6]],dashArrayY:[1,0,6,0],rotation:Math.PI/4},{color:ci,symbol:"triangle",dashArrayX:[[9,9],[0,9,9,0]],dashArrayY:[7,2],symbolSize:.75}]}},textStyle:{fontFamily:sg.match(/^Win/)?"Microsoft YaHei":"sans-serif",fontSize:12,fontStyle:"normal",fontWeight:"normal"},blendMode:null,stateAnimation:{duration:300,easing:"cubicOut"},animation:"auto",animationDuration:1e3,animationDurationUpdate:500,animationEasing:"cubicInOut",animationEasingUpdate:"cubicInOut",animationThreshold:2e3,progressiveThreshold:3e3,progressive:400,hoverLayerThreshold:3e3,useUTC:!1};var lg=Q(["tooltip","label","itemName","itemId","itemGroupId","itemChildGroupId","seriesName"]),de="original",qt="arrayRows",xe="objectRows",Ne="keyedColumns",pr="typedArray",ug="unknown",$e="column",Gi="row",Ct={Must:1,Might:2,Not:3},fg=St();function nw(r){fg(r).datasetMap=Q()}function aw(r,t,e){var i={},n=Tf(t);if(!n||!r)return i;var a=[],o=[],s=t.ecModel,l=fg(s).datasetMap,u=n.uid+"_"+e.seriesLayoutBy,f,h;r=r.slice(),A(r,function(g,p){var y=Y(g)?g:r[p]={name:g};y.type==="ordinal"&&f==null&&(f=p,h=d(y)),i[y.name]=[]});var c=l.get(u)||l.set(u,{categoryWayDim:h,valueWayDim:0});A(r,function(g,p){var y=g.name,m=d(g);if(f==null){var _=c.valueWayDim;v(i[y],_,m),v(o,_,m),c.valueWayDim+=m}else if(f===p)v(i[y],0,m),v(a,0,m);else{var _=c.categoryWayDim;v(i[y],_,m),v(o,_,m),c.categoryWayDim+=m}});function v(g,p,y){for(var m=0;mt)return r[i];return r[e-1]}function hw(r,t,e,i,n,a,o){a=a||r;var s=t(a),l=s.paletteIdx||0,u=s.paletteNameMap=s.paletteNameMap||{};if(u.hasOwnProperty(n))return u[n];var f=o==null||!i?e:fw(i,o);if(f=f||e,!(!f||!f.length)){var h=f[l];return n&&(u[n]=h),s.paletteIdx=(l+1)%f.length,h}}function vw(r,t){t(r).paletteIdx=0,t(r).paletteNameMap={}}var Ma,tn,xv,Tv="\0_ec_inner",cw=1,Df=(function(r){N(t,r);function t(){return r!==null&&r.apply(this,arguments)||this}return t.prototype.init=function(e,i,n,a,o,s){a=a||{},this.option=null,this._theme=new gt(a),this._locale=new gt(o),this._optionManager=s},t.prototype.setOption=function(e,i,n){var a=Mv(i);this._optionManager.setOption(e,n,a),this._resetOption(null,a)},t.prototype.resetOption=function(e,i){return this._resetOption(e,Mv(i))},t.prototype._resetOption=function(e,i){var n=!1,a=this._optionManager;if(!e||e==="recreate"){var o=a.mountOption(e==="recreate");!this.option||e==="recreate"?xv(this,o):(this.restoreData(),this._mergeOption(o,i)),n=!0}if((e==="timeline"||e==="media")&&this.restoreData(),!e||e==="recreate"||e==="timeline"){var s=a.getTimelineOption(this);s&&(n=!0,this._mergeOption(s,i))}if(!e||e==="recreate"||e==="media"){var l=a.getMediaOption(this);l.length&&A(l,function(u){n=!0,this._mergeOption(u,i)},this)}return n},t.prototype.mergeOption=function(e){this._mergeOption(e,null)},t.prototype._mergeOption=function(e,i){var n=this.option,a=this._componentsMap,o=this._componentsCount,s=[],l=Q(),u=i&&i.replaceMergeMainTypeMap;nw(this),A(e,function(h,c){h!=null&&(lt.hasClass(c)?c&&(s.push(c),l.set(c,!0)):n[c]=n[c]==null?tt(h):nt(n[c],h,!0))}),u&&u.each(function(h,c){lt.hasClass(c)&&!l.get(c)&&(s.push(c),l.set(c,!0))}),lt.topologicalTravel(s,lt.getAllClassMainTypes(),f,this);function f(h){var c=uw(this,h,Bt(e[h])),v=a.get(h),d=v?u&&u.get(h)?"replaceMerge":"normalMerge":"replaceAll",g=s_(v,c,d);d_(g,h,lt),n[h]=null,a.set(h,null),o.set(h,0);var p=[],y=[],m=0,_;A(g,function(S,b){var w=S.existing,x=S.newOption;if(!x)w&&(w.mergeOption({},this),w.optionUpdated({},!1));else{var T=h==="series",C=lt.getClass(h,S.keyInfo.subType,!T);if(!C)return;if(h==="tooltip"){if(_)return;_=!0}if(w&&w.constructor===C)w.name=S.keyInfo.name,w.mergeOption(x,this),w.optionUpdated(x,!1);else{var M=B({componentIndex:b},S.keyInfo);w=new C(x,this,this,M),B(w,M),S.brandNew&&(w.__requireNewView=!0),w.init(x,this,this),w.optionUpdated(null,!0)}}w?(p.push(w.option),y.push(w),m++):(p.push(void 0),y.push(void 0))},this),n[h]=p,a.set(h,y),o.set(h,m),h==="series"&&Ma(this)}this._seriesIndices||Ma(this)},t.prototype.getOption=function(){var e=tt(this.option);return A(e,function(i,n){if(lt.hasClass(n)){for(var a=Bt(i),o=a.length,s=!1,l=o-1;l>=0;l--)a[l]&&!zn(a[l])?s=!0:(a[l]=null,!s&&o--);a.length=o,e[n]=a}}),delete e[Tv],e},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,i){var n=this._componentsMap.get(e);if(n){var a=n[i||0];if(a)return a;if(i==null){for(var o=0;o=t:e==="max"?r<=t:r===t}function bw(r,t){return r.join(",")===t.join(",")}var pe=A,Xn=Y,Av=["areaStyle","lineStyle","nodeStyle","linkStyle","chordStyle","label","labelLine"];function nl(r){var t=r&&r.itemStyle;if(t)for(var e=0,i=Av.length;e=0;p--){var y=r[p];if(s||(d=y.data.rawIndexOf(y.stackedByDimension,v)),d>=0){var m=y.data.getByRawIndex(y.stackResultDimension,d);if(l==="all"||l==="positive"&&m>0||l==="negative"&&m<0||l==="samesign"&&c>=0&&m>0||l==="samesign"&&c<=0&&m<0){c=e_(c,m),g=m;break}}}return i[0]=c,i[1]=g,i})})}var ss=(function(){function r(t){this.data=t.data||(t.sourceFormat===Ne?{}:[]),this.sourceFormat=t.sourceFormat||ug,this.seriesLayoutBy=t.seriesLayoutBy||$e,this.startIndex=t.startIndex||0,this.dimensionsDetectedCount=t.dimensionsDetectedCount,this.metaRawOption=t.metaRawOption;var e=this.dimensionsDefine=t.dimensionsDefine;if(e)for(var i=0;ig&&(g=_)}v[0]=d,v[1]=g}},n=function(){return this._data?this._data.length/this._dimSize:0};Ov=(t={},t[qt+"_"+$e]={pure:!0,appendData:a},t[qt+"_"+Gi]={pure:!0,appendData:function(){throw new Error('Do not support appendData when set seriesLayoutBy: "row".')}},t[xe]={pure:!0,appendData:a},t[Ne]={pure:!0,appendData:function(o){var s=this._data;A(o,function(l,u){for(var f=s[u]||(s[u]=[]),h=0;h<(l||[]).length;h++)f.push(l[h])})}},t[de]={appendData:a},t[pr]={persistent:!1,pure:!0,appendData:function(o){this._data=o},clean:function(){this._offset+=this.count(),this._data=null}},t);function a(o){for(var s=0;s=0&&(g=o.interpolatedValue[p])}return g!=null?g+"":""})}},r.prototype.getRawValue=function(t,e){return Oi(this.getData(e),t)},r.prototype.formatTooltip=function(t,e,i){},r})();function zv(r){var t,e;return Y(r)?r.type&&(e=r):t=r,{text:t,frag:e}}function Rn(r){return new Gw(r)}var Gw=(function(){function r(t){t=t||{},this._reset=t.reset,this._plan=t.plan,this._count=t.count,this._onDirty=t.onDirty,this._dirty=!0}return r.prototype.perform=function(t){var e=this._upstream,i=t&&t.skip;if(this._dirty&&e){var n=this.context;n.data=n.outputData=e.context.outputData}this.__pipeline&&(this.__pipeline.currentTask=this);var a;this._plan&&!i&&(a=this._plan(this.context));var o=f(this._modBy),s=this._modDataCount||0,l=f(t&&t.modBy),u=t&&t.modDataCount||0;(o!==l||s!==u)&&(a="reset");function f(m){return!(m>=1)&&(m=1),m}var h;(this._dirty||a==="reset")&&(this._dirty=!1,h=this._doReset(i)),this._modBy=l,this._modDataCount=u;var c=t&&t.step;if(e?this._dueEnd=e._outputDueEnd:this._dueEnd=this._count?this._count(this.context):1/0,this._progress){var v=this._dueIndex,d=Math.min(c!=null?this._dueIndex+c:1/0,this._dueEnd);if(!i&&(h||v1&&i>0?s:o}};return a;function o(){return t=r?null:ln?-this._resultLT:0},r})(),Vw=(function(){function r(){}return r.prototype.getRawData=function(){throw new Error("not supported")},r.prototype.getRawDataItem=function(t){throw new Error("not supported")},r.prototype.cloneRawData=function(){},r.prototype.getDimensionInfo=function(t){},r.prototype.cloneAllDimensionInfo=function(){},r.prototype.count=function(){},r.prototype.retrieveValue=function(t,e){},r.prototype.retrieveValueFromItem=function(t,e){},r.prototype.convertValue=function(t,e){return io(t,e)},r})();function Ww(r,t){var e=new Vw,i=r.data,n=e.sourceFormat=r.sourceFormat,a=r.startIndex,o="";r.seriesLayoutBy!==$e&&Ut(o);var s=[],l={},u=r.dimensionsDefine;if(u)A(u,function(g,p){var y=g.name,m={index:p,name:y,displayName:g.displayName};if(s.push(m),y!=null){var _="";Jr(l,y)&&Ut(_),l[y]=m}});else for(var f=0;f65535?Qw:Jw}function pi(){return[1/0,-1/0]}function jw(r){var t=r.constructor;return t===Array?r.slice():new t(r)}function Vv(r,t,e,i,n){var a=Cg[e||"float"];if(n){var o=r[t],s=o&&o.length;if(s!==i){for(var l=new a(i),u=0;up[1]&&(p[1]=g)}return this._rawCount=this._count=l,{start:s,end:l}},r.prototype._initDataFromProvider=function(t,e,i){for(var n=this._provider,a=this._chunks,o=this._dimensions,s=o.length,l=this._rawExtent,u=U(o,function(m){return m.property}),f=0;fy[1]&&(y[1]=p)}}!n.persistent&&n.clean&&n.clean(),this._rawCount=this._count=e,this._extent=[]},r.prototype.count=function(){return this._count},r.prototype.get=function(t,e){if(!(e>=0&&e=0&&e=this._rawCount||t<0)return-1;if(!this._indices)return t;var e=this._indices,i=e[t];if(i!=null&&it)a=o-1;else return o}return-1},r.prototype.indicesOfNearest=function(t,e,i){var n=this._chunks,a=n[t],o=[];if(!a)return o;i==null&&(i=1/0);for(var s=1/0,l=-1,u=0,f=0,h=this.count();f=0&&l<0)&&(s=d,l=v,u=0),v===l&&(o[u++]=f))}return o.length=u,o},r.prototype.getIndices=function(){var t,e=this._indices;if(e){var i=e.constructor,n=this._count;if(i===Array){t=new i(n);for(var a=0;a=h&&m<=c||isNaN(m))&&(l[u++]=g),g++}d=!0}else if(a===2){for(var p=v[n[0]],_=v[n[1]],S=t[n[1]][0],b=t[n[1]][1],y=0;y=h&&m<=c||isNaN(m))&&(w>=S&&w<=b||isNaN(w))&&(l[u++]=g),g++}d=!0}}if(!d)if(a===1)for(var y=0;y=h&&m<=c||isNaN(m))&&(l[u++]=x)}else for(var y=0;yt[M][1])&&(T=!1)}T&&(l[u++]=e.getRawIndex(y))}return uy[1]&&(y[1]=p)}}}},r.prototype.lttbDownSample=function(t,e){var i=this.clone([t],!0),n=i._chunks,a=n[t],o=this.count(),s=0,l=Math.floor(1/e),u=this.getRawIndex(0),f,h,c,v=new(di(this._rawCount))(Math.min((Math.ceil(o/l)+2)*2,o));v[s++]=u;for(var d=1;df&&(f=h,c=S)}D>0&&Ds&&(g=s-f);for(var p=0;pd&&(d=m,v=f+p)}var _=this.getRawIndex(h),S=this.getRawIndex(v);hf-d&&(l=f-d,s.length=l);for(var g=0;gh[1]&&(h[1]=y),c[v++]=m}return a._count=v,a._indices=c,a._updateGetRawIdx(),a},r.prototype.each=function(t,e){if(this._count)for(var i=t.length,n=this._chunks,a=0,o=this.count();al&&(l=h)}return o=[s,l],this._extent[t]=o,o},r.prototype.getRawDataItem=function(t){var e=this.getRawIndex(t);if(this._provider.persistent)return this._provider.getItem(e);for(var i=[],n=this._chunks,a=0;a=0?this._indices[t]:-1},r.prototype._updateGetRawIdx=function(){this.getRawIndex=this._indices?this._getRawIdx:this._getRawIdxIdentity},r.internalField=(function(){function t(e,i,n,a){return io(e[a],this._dimensions[a])}sl={arrayRows:t,objectRows:function(e,i,n,a){return io(e[i],this._dimensions[a])},keyedColumns:t,original:function(e,i,n,a){var o=e&&(e.value==null?e:e.value);return io(o instanceof Array?o[a]:o,this._dimensions[a])},typedArray:function(e,i,n,a){return e[a]}}})(),r})(),tb=(function(){function r(t){this._sourceList=[],this._storeList=[],this._upstreamSignList=[],this._versionSignBase=0,this._dirty=!0,this._sourceHost=t}return r.prototype.dirty=function(){this._setLocalSource([],[]),this._storeList=[],this._dirty=!0},r.prototype._setLocalSource=function(t,e){this._sourceList=t,this._upstreamSignList=e,this._versionSignBase++,this._versionSignBase>9e10&&(this._versionSignBase=0)},r.prototype._getVersionSign=function(){return this._sourceHost.uid+"_"+this._versionSignBase},r.prototype.prepareSource=function(){this._isDirty()&&(this._createSource(),this._dirty=!1)},r.prototype._createSource=function(){this._setLocalSource([],[]);var t=this._sourceHost,e=this._getUpstreamSourceManagers(),i=!!e.length,n,a;if(Aa(t)){var o=t,s=void 0,l=void 0,u=void 0;if(i){var f=e[0];f.prepareSource(),u=f.getSource(),s=u.data,l=u.sourceFormat,a=[f._getVersionSign()]}else s=o.get("data",!0),l=Zt(s)?pr:de,a=[];var h=this._getSourceMetaRawOption()||{},c=u&&u.metaRawOption||{},v=K(h.seriesLayoutBy,c.seriesLayoutBy)||null,d=K(h.sourceHeader,c.sourceHeader),g=K(h.dimensions,c.dimensions),p=v!==c.seriesLayoutBy||!!d!=!!c.sourceHeader||g;n=p?[cu(s,{seriesLayoutBy:v,sourceHeader:d,dimensions:g},l)]:[]}else{var y=t;if(i){var m=this._applyTransform(e);n=m.sourceList,a=m.upstreamSignList}else{var _=y.get("source",!0);n=[cu(_,this._getSourceMetaRawOption(),null)],a=[]}}this._setLocalSource(n,a)},r.prototype._applyTransform=function(t){var e=this._sourceHost,i=e.get("transform",!0),n=e.get("fromTransformResult",!0);if(n!=null){var a="";t.length!==1&&Wv(a)}var o,s=[],l=[];return A(t,function(u){u.prepareSource();var f=u.getSource(n||0),h="";n!=null&&!f&&Wv(h),s.push(f),l.push(u._getVersionSign())}),i?o=qw(i,s,{datasetIndex:e.componentIndex}):n!=null&&(o=[Rw(s[0])]),{sourceList:o,upstreamSignList:l}},r.prototype._isDirty=function(){if(this._dirty)return!0;for(var t=this._getUpstreamSourceManagers(),e=0;e1||e>0&&!r.noHeader;return A(r.blocks,function(n){var a=Lg(n);a>=t&&(t=a+ +(i&&(!a||pu(n)&&!n.noHeader)))}),t}return 0}function nb(r,t,e,i){var n=t.noHeader,a=ob(Lg(t)),o=[],s=t.blocks||[];Ze(!s||z(s)),s=s||[];var l=r.orderMode;if(t.sortBlocks&&l){s=s.slice();var u={valueAsc:"asc",valueDesc:"desc"};if(Jr(u,l)){var f=new Hw(u[l],null);s.sort(function(g,p){return f.evaluate(g.sortParam,p.sortParam)})}else l==="seriesDesc"&&s.reverse()}A(s,function(g,p){var y=t.valueFormatter,m=Ag(g)(y?B(B({},r),{valueFormatter:y}):r,g,p>0?a.html:0,i);m!=null&&o.push(m)});var h=r.renderMode==="richText"?o.join(a.richText):gu(i,o.join(""),n?e:a.html);if(n)return h;var c=vu(t.header,"ordinal",r.useUTC),v=Mg(i,r.renderMode).nameStyle,d=Dg(i);return r.renderMode==="richText"?Ig(r,c,v)+a.richText+h:gu(i,'
'+Vt(c)+"
"+h,e)}function ab(r,t,e,i){var n=r.renderMode,a=t.noName,o=t.noValue,s=!t.markerType,l=t.name,u=r.useUTC,f=t.valueFormatter||r.valueFormatter||function(S){return S=z(S)?S:[S],U(S,function(b,w){return vu(b,z(v)?v[w]:v,u)})};if(!(a&&o)){var h=s?"":r.markupStyleCreator.makeTooltipMarker(t.markerType,t.markerColor||"#333",n),c=a?"":vu(l,"ordinal",u),v=t.valueType,d=o?[]:f(t.value,t.dataIndex),g=!s||!a,p=!s&&a,y=Mg(i,n),m=y.nameStyle,_=y.valueStyle;return n==="richText"?(s?"":h)+(a?"":Ig(r,c,m))+(o?"":ub(r,d,g,p,_)):gu(i,(s?"":h)+(a?"":sb(c,!s,m))+(o?"":lb(d,g,p,_)),e)}}function Uv(r,t,e,i,n,a){if(r){var o=Ag(r),s={useUTC:n,renderMode:e,orderMode:i,markupStyleCreator:t,valueFormatter:r.valueFormatter};return o(s,r,0,a)}}function ob(r){return{html:rb[r],richText:ib[r]}}function gu(r,t,e){var i='
',n="margin: "+e+"px 0 0",a=Dg(r);return'
'+t+i+"
"}function sb(r,t,e){var i=t?"margin-left:2px":"";return''+Vt(r)+""}function lb(r,t,e,i){var n=e?"10px":"20px",a=t?"float:right;margin-left:"+n:"";return r=z(r)?r:[r],''+U(r,function(o){return Vt(o)}).join("  ")+""}function Ig(r,t,e){return r.markupStyleCreator.wrapRichTextStyle(t,e)}function ub(r,t,e,i,n){var a=[n],o=i?10:20;return e&&a.push({padding:[0,0,0,o],align:"right"}),r.markupStyleCreator.wrapRichTextStyle(z(t)?t.join(" "):t,a)}function fb(r,t){var e=r.getData().getItemVisual(t,"style"),i=e[r.visualDrawType];return ei(i)}function Pg(r,t){var e=r.get("padding");return e??(t==="richText"?[8,10]:10)}var ll=(function(){function r(){this.richTextStyles={},this._nextStyleNameId=sp()}return r.prototype._generateStyleName=function(){return"__EC_aUTo_"+this._nextStyleNameId++},r.prototype.makeTooltipMarker=function(t,e,i){var n=i==="richText"?this._generateStyleName():null,a=JS({color:e,type:t,renderMode:i,markerId:n});return V(a)?a:(this.richTextStyles[n]=a.style,a.content)},r.prototype.wrapRichTextStyle=function(t,e){var i={};z(e)?A(e,function(a){return B(i,a)}):B(i,e);var n=this._generateStyleName();return this.richTextStyles[n]=i,"{"+n+"|"+t+"}"},r})();function hb(r){var t=r.series,e=r.dataIndex,i=r.multipleSeries,n=t.getData(),a=n.mapDimensionsAll("defaultedTooltip"),o=a.length,s=t.getRawValue(e),l=z(s),u=fb(t,e),f,h,c,v;if(o>1||l&&!o){var d=vb(s,t,e,a,u);f=d.inlineValues,h=d.inlineValueTypes,c=d.blocks,v=d.inlineValues[0]}else if(o){var g=n.getDimensionInfo(a[0]);v=f=Oi(n,e,a[0]),h=g.type}else v=f=l?s[0]:s;var p=ef(t),y=p&&t.name||"",m=n.getName(e),_=i?y:m;return $n("section",{header:y,noHeader:i||!p,sortParam:v,blocks:[$n("nameValue",{markerType:"item",markerColor:u,name:_,noName:!Pe(_),value:f,valueType:h,dataIndex:e})].concat(c||[])})}function vb(r,t,e,i,n){var a=t.getData(),o=yr(r,function(h,c,v){var d=a.getDimensionInfo(v);return h=h||d&&d.tooltip!==!1&&d.displayName!=null},!1),s=[],l=[],u=[];i.length?A(i,function(h){f(Oi(a,e,h),h)}):A(r,f);function f(h,c){var v=a.getDimensionInfo(c);!v||v.otherDims.tooltip===!1||(o?u.push($n("nameValue",{markerType:"subItem",markerColor:n,name:v.displayName,value:h,valueType:v.type})):(s.push(h),l.push(v.type)))}return{inlineValues:s,inlineValueTypes:l,blocks:u}}var er=St();function La(r,t){return r.getName(t)||r.getId(t)}var cb="__universalTransitionEnabled",we=(function(r){N(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e._selectedDataIndicesMap={},e}return t.prototype.init=function(e,i,n){this.seriesIndex=this.componentIndex,this.dataTask=Rn({count:pb,reset:gb}),this.dataTask.context={model:this},this.mergeDefaultAndTheme(e,n);var a=er(this).sourceManager=new tb(this);a.prepareSource();var o=this.getInitialData(e,n);Xv(o,this),this.dataTask.context.data=o,er(this).dataBeforeProcessed=o,Yv(this),this._initSelectedMapFromData(o)},t.prototype.mergeDefaultAndTheme=function(e,i){var n=Yn(this),a=n?os(e):{},o=this.subType;lt.hasClass(o)&&(o+="Series"),nt(e,i.getTheme().get(this.subType)),nt(e,this.getDefaultOption()),eu(e,"label",["show"]),this.fillDataTextStyle(e.data),n&&ki(e,a,n)},t.prototype.mergeOption=function(e,i){e=nt(this.option,e,!0),this.fillDataTextStyle(e.data);var n=Yn(this);n&&ki(this.option,e,n);var a=er(this).sourceManager;a.dirty(),a.prepareSource();var o=this.getInitialData(e,i);Xv(o,this),this.dataTask.dirty(),this.dataTask.context.data=o,er(this).dataBeforeProcessed=o,Yv(this),this._initSelectedMapFromData(o)},t.prototype.fillDataTextStyle=function(e){if(e&&!Zt(e))for(var i=["show"],n=0;nthis.getShallow("animationThreshold")&&(i=!1),!!i},t.prototype.restoreData=function(){this.dataTask.dirty()},t.prototype.getColorFromPalette=function(e,i,n){var a=this.ecModel,o=Cf.prototype.getColorFromPalette.call(this,e,i,n);return o||(o=a.getColorFromPalette(e,i,n)),o},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,i){this._innerSelect(this.getData(i),e)},t.prototype.unselect=function(e,i){var n=this.option.selectedMap;if(n){var a=this.option.selectedMode,o=this.getData(i);if(a==="series"||n==="all"){this.option.selectedMap={},this._selectedDataIndicesMap={};return}for(var s=0;s=0&&n.push(o)}return n},t.prototype.isSelected=function(e,i){var n=this.option.selectedMap;if(!n)return!1;var a=this.getData(i);return(n==="all"||n[La(a,e)])&&!a.getItemModel(e).get(["select","disabled"])},t.prototype.isUniversalTransitionEnabled=function(){if(this[cb])return!0;var e=this.option.universalTransition;return e?e===!0?!0:e&&e.enabled:!1},t.prototype._innerSelect=function(e,i){var n,a,o=this.option,s=o.selectedMode,l=i.length;if(!(!s||!l)){if(s==="series")o.selectedMap="all";else if(s==="multiple"){Y(o.selectedMap)||(o.selectedMap={});for(var u=o.selectedMap,f=0;f0&&this._innerSelect(e,i)}},t.registerClass=function(e){return lt.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})(lt);Oe(we,zw);Oe(we,Cf);cp(we,lt);function Yv(r){var t=r.name;ef(r)||(r.name=db(r)||t)}function db(r){var t=r.getRawData(),e=t.mapDimensionsAll("seriesName"),i=[];return A(e,function(n){var a=t.getDimensionInfo(n);a.displayName&&i.push(a.displayName)}),i.join(" ")}function pb(r){return r.model.getRawData().count()}function gb(r){var t=r.model;return t.setData(t.getRawData().cloneShallow()),yb}function yb(r,t){t.outputData&&r.end>t.outputData.count()&&t.model.getRawData().cloneShallow(t.outputData)}function Xv(r,t){A(Bm(r.CHANGABLE_METHODS,r.DOWNSAMPLE_METHODS),function(e){r.wrapMethod(e,_t(mb,t))})}function mb(r,t){var e=yu(r);return e&&e.setOutputEnd((t||this).count()),t}function yu(r){var t=(r.ecModel||{}).scheduler,e=t&&t.getPipeline(r.uid);if(e){var i=e.currentTask;if(i){var n=i.agentStubMap;n&&(i=n.get(r.uid))}return i}}var ke=(function(){function r(){this.group=new Lt,this.uid=jo("viewComponent")}return r.prototype.init=function(t,e){},r.prototype.render=function(t,e,i,n){},r.prototype.dispose=function(t,e){},r.prototype.updateView=function(t,e,i,n){},r.prototype.updateLayout=function(t,e,i,n){},r.prototype.updateVisual=function(t,e,i,n){},r.prototype.toggleBlurSeries=function(t,e,i){},r.prototype.eachRendered=function(t){var e=this.group;e&&e.traverse(t)},r})();nf(ke);Ho(ke);function Pf(){var r=St();return function(t){var e=r(t),i=t.pipelineContext,n=!!e.large,a=!!e.progressiveRender,o=e.large=!!(i&&i.large),s=e.progressiveRender=!!(i&&i.progressiveRender);return(n!==o||a!==s)&&"reset"}}var Rg=St(),_b=Pf(),ve=(function(){function r(){this.group=new Lt,this.uid=jo("viewChart"),this.renderTask=Rn({plan:Sb,reset:wb}),this.renderTask.context={view:this}}return r.prototype.init=function(t,e){},r.prototype.render=function(t,e,i,n){},r.prototype.highlight=function(t,e,i,n){var a=t.getData(n&&n.dataType);a&&Zv(a,n,"emphasis")},r.prototype.downplay=function(t,e,i,n){var a=t.getData(n&&n.dataType);a&&Zv(a,n,"normal")},r.prototype.remove=function(t,e){this.group.removeAll()},r.prototype.dispose=function(t,e){},r.prototype.updateView=function(t,e,i,n){this.render(t,e,i,n)},r.prototype.updateLayout=function(t,e,i,n){this.render(t,e,i,n)},r.prototype.updateVisual=function(t,e,i,n){this.render(t,e,i,n)},r.prototype.eachRendered=function(t){Ko(this.group,t)},r.markUpdateMethod=function(t,e){Rg(t).updateMethod=e},r.protoInitialize=(function(){var t=r.prototype;t.type="chart"})(),r})();function $v(r,t,e){r&&lu(r)&&(t==="emphasis"?So:wo)(r,e)}function Zv(r,t,e){var i=jr(r,t),n=t&&t.highlightKey!=null?B1(t.highlightKey):null;i!=null?A(Bt(i),function(a){$v(r.getItemGraphicEl(a),e,n)}):r.eachItemGraphicEl(function(a){$v(a,e,n)})}nf(ve);Ho(ve);function Sb(r){return _b(r.model)}function wb(r){var t=r.model,e=r.ecModel,i=r.api,n=r.payload,a=t.pipelineContext.progressiveRender,o=r.view,s=n&&Rg(n).updateMethod,l=a?"incrementalPrepareRender":s&&o[s]?s:"render";return l!=="render"&&o[l](t,e,i,n),bb[l]}var bb={incrementalPrepareRender:{progress:function(r,t){t.view.incrementalRender(r,t.model,t.ecModel,t.api,t.payload)}},render:{forceFirstProgress:!0,progress:function(r,t){t.view.render(t.model,t.ecModel,t.api,t.payload)}}},Lo="\0__throttleOriginMethod",qv="\0__throttleRate",Kv="\0__throttleType";function Rf(r,t,e){var i,n=0,a=0,o=null,s,l,u,f;t=t||0;function h(){a=new Date().getTime(),o=null,r.apply(l,u||[])}var c=function(){for(var v=[],d=0;d=0?h():o=setTimeout(h,-s),n=i};return c.clear=function(){o&&(clearTimeout(o),o=null)},c.debounceNextCall=function(v){f=v},c}function Eg(r,t,e,i){var n=r[t];if(n){var a=n[Lo]||n,o=n[Kv],s=n[qv];if(s!==e||o!==i){if(e==null||!i)return r[t]=a;n=r[t]=Rf(a,e,i==="debounce"),n[Lo]=a,n[Kv]=i,n[qv]=e}return n}}function mu(r,t){var e=r[t];e&&e[Lo]&&(e.clear&&e.clear(),r[t]=e[Lo])}var Qv=St(),Jv={itemStyle:Gn(Xp,!0),lineStyle:Gn(Yp,!0)},xb={lineStyle:"stroke",itemStyle:"fill"};function kg(r,t){var e=r.visualStyleMapper||Jv[t];return e||(console.warn("Unknown style type '"+t+"'."),Jv.itemStyle)}function Og(r,t){var e=r.visualDrawType||xb[t];return e||(console.warn("Unknown style type '"+t+"'."),"fill")}var Tb={createOnAllSeries:!0,performRawSeries:!0,reset:function(r,t){var e=r.getData(),i=r.visualStyleAccessPath||"itemStyle",n=r.getModel(i),a=kg(r,i),o=a(n),s=n.getShallow("decal");s&&(e.setVisual("decal",s),s.dirty=!0);var l=Og(r,i),u=o[l],f=q(u)?u:null,h=o.fill==="auto"||o.stroke==="auto";if(!o[l]||f||h){var c=r.getColorFromPalette(r.name,null,t.getSeriesCount());o[l]||(o[l]=c,e.setVisual("colorFromPalette",!0)),o.fill=o.fill==="auto"||q(o.fill)?c:o.fill,o.stroke=o.stroke==="auto"||q(o.stroke)?c:o.stroke}if(e.setVisual("style",o),e.setVisual("drawType",l),!t.isSeriesFiltered(r)&&f)return e.setVisual("colorFromPalette",!1),{dataEach:function(v,d){var g=r.getDataParams(d),p=B({},o);p[l]=f(g),v.setItemVisual(d,"style",p)}}}},rn=new gt,Cb={createOnAllSeries:!0,performRawSeries:!0,reset:function(r,t){if(!(r.ignoreStyleOnData||t.isSeriesFiltered(r))){var e=r.getData(),i=r.visualStyleAccessPath||"itemStyle",n=kg(r,i),a=e.getVisual("drawType");return{dataEach:e.hasItemOption?function(o,s){var l=o.getRawDataItem(s);if(l&&l[i]){rn.option=l[i];var u=n(rn),f=o.ensureUniqueItemVisual(s,"style");B(f,u),rn.option.decal&&(o.setItemVisual(s,"decal",rn.option.decal),rn.option.decal.dirty=!0),a in u&&o.setItemVisual(s,"colorFromPalette",!1)}}:null}}}},Db={performRawSeries:!0,overallReset:function(r){var t=Q();r.eachSeries(function(e){var i=e.getColorBy();if(!e.isColorBySeries()){var n=e.type+"-"+i,a=t.get(n);a||(a={},t.set(n,a)),Qv(e).scope=a}}),r.eachSeries(function(e){if(!(e.isColorBySeries()||r.isSeriesFiltered(e))){var i=e.getRawData(),n={},a=e.getData(),o=Qv(e).scope,s=e.visualStyleAccessPath||"itemStyle",l=Og(e,s);a.each(function(u){var f=a.getRawIndex(u);n[f]=u}),i.each(function(u){var f=n[u],h=a.getItemVisual(f,"colorFromPalette");if(h){var c=a.ensureUniqueItemVisual(f,"style"),v=i.getName(u)||u+"",d=i.count();c[l]=e.getColorFromPalette(v,o,d)}})}})}},Ia=Math.PI;function Mb(r,t){t=t||{},ot(t,{text:"loading",textColor:"#000",fontSize:12,fontWeight:"normal",fontStyle:"normal",fontFamily:"sans-serif",maskColor:"rgba(255, 255, 255, 0.8)",showSpinner:!0,color:"#5470c6",spinnerRadius:10,lineWidth:5,zlevel:0});var e=new Lt,i=new bt({style:{fill:t.maskColor},zlevel:t.zlevel,z:1e4});e.add(i);var n=new Nt({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 bt({style:{fill:"none"},textContent:n,textConfig:{position:"right",distance:10},zlevel:t.zlevel,z:10001});e.add(a);var o;return t.showSpinner&&(o=new Zo({shape:{startAngle:-Ia/2,endAngle:-Ia/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:Ia*3/2}).start("circularInOut"),o.animateShape(!0).when(1e3,{startAngle:Ia*3/2}).delay(300).start("circularInOut"),e.add(o)),e.resize=function(){var s=n.getBoundingRect().width,l=t.showSpinner?t.spinnerRadius:0,u=(r.getWidth()-l*2-(t.showSpinner&&s?10:0)-s)/2-(t.showSpinner&&s?0:5+s/2)+(t.showSpinner?0:s/2)+(s?0:l),f=r.getHeight()/2;t.showSpinner&&o.setShape({cx:u,cy:f}),a.setShape({x:u-l,y:f-l,width:l*2,height:l*2}),i.setShape({x:0,y:0,width:r.getWidth(),height:r.getHeight()})},e.resize(),e}var Bg=(function(){function r(t,e,i,n){this._stageTaskMap=Q(),this.ecInstance=t,this.api=e,i=this._dataProcessorHandlers=i.slice(),n=this._visualHandlers=n.slice(),this._allHandlers=i.concat(n)}return r.prototype.restoreData=function(t,e){t.restoreData(e),this._stageTaskMap.each(function(i){var n=i.overallTask;n&&n.dirty()})},r.prototype.getPerformArgs=function(t,e){if(t.__pipeline){var i=this._pipelineMap.get(t.__pipeline.id),n=i.context,a=!e&&i.progressiveEnabled&&(!n||n.progressiveRender)&&t.__idxInPipeline>i.blockIndex,o=a?i.step:null,s=n&&n.modDataCount,l=s!=null?Math.ceil(s/o):null;return{step:o,modBy:l,modDataCount:s}}},r.prototype.getPipeline=function(t){return this._pipelineMap.get(t)},r.prototype.updateStreamModes=function(t,e){var i=this._pipelineMap.get(t.uid),n=t.getData(),a=n.count(),o=i.progressiveEnabled&&e.incrementalPrepareRender&&a>=i.threshold,s=t.get("large")&&a>=t.get("largeThreshold"),l=t.get("progressiveChunkMode")==="mod"?a:null;t.pipelineContext=i.context={progressiveRender:o,modDataCount:l,large:s}},r.prototype.restorePipelines=function(t){var e=this,i=e._pipelineMap=Q();t.eachSeries(function(n){var a=n.getProgressive(),o=n.uid;i.set(o,{id:o,head:null,tail:null,threshold:n.getProgressiveThreshold(),progressiveEnabled:a&&!(n.preventIncremental&&n.preventIncremental()),blockIndex:-1,step:Math.round(a||700),count:0}),e._pipe(n,n.dataTask)})},r.prototype.prepareStageTasks=function(){var t=this._stageTaskMap,e=this.api.getModel(),i=this.api;A(this._allHandlers,function(n){var a=t.get(n.uid)||t.set(n.uid,{}),o="";Ze(!(n.reset&&n.overallReset),o),n.reset&&this._createSeriesStageTask(n,a,e,i),n.overallReset&&this._createOverallStageTask(n,a,e,i)},this)},r.prototype.prepareView=function(t,e,i,n){var a=t.renderTask,o=a.context;o.model=e,o.ecModel=i,o.api=n,a.__block=!t.incrementalPrepareRender,this._pipe(e,a)},r.prototype.performDataProcessorTasks=function(t,e){this._performStageTasks(this._dataProcessorHandlers,t,e,{block:!0})},r.prototype.performVisualTasks=function(t,e,i){this._performStageTasks(this._visualHandlers,t,e,i)},r.prototype._performStageTasks=function(t,e,i,n){n=n||{};var a=!1,o=this;A(t,function(l,u){if(!(n.visualType&&n.visualType!==l.visualType)){var f=o._stageTaskMap.get(l.uid),h=f.seriesTaskMap,c=f.overallTask;if(c){var v,d=c.agentStubMap;d.each(function(p){s(n,p)&&(p.dirty(),v=!0)}),v&&c.dirty(),o.updatePayload(c,i);var g=o.getPerformArgs(c,n.block);d.each(function(p){p.perform(g)}),c.perform(g)&&(a=!0)}else h&&h.each(function(p,y){s(n,p)&&p.dirty();var m=o.getPerformArgs(p,n.block);m.skip=!l.performRawSeries&&e.isSeriesFiltered(p.context.model),o.updatePayload(p,i),p.perform(m)&&(a=!0)})}});function s(l,u){return l.setDirty&&(!l.dirtyMap||l.dirtyMap.get(u.__pipeline.id))}this.unfinished=a||this.unfinished},r.prototype.performSeriesTasks=function(t){var e;t.eachSeries(function(i){e=i.dataTask.perform()||e}),this.unfinished=e||this.unfinished},r.prototype.plan=function(){this._pipelineMap.each(function(t){var e=t.tail;do{if(e.__block){t.blockIndex=e.__idxInPipeline;break}e=e.getUpstream()}while(e)})},r.prototype.updatePayload=function(t,e){e!=="remain"&&(t.context.payload=e)},r.prototype._createSeriesStageTask=function(t,e,i,n){var a=this,o=e.seriesTaskMap,s=e.seriesTaskMap=Q(),l=t.seriesType,u=t.getTargetSeries;t.createOnAllSeries?i.eachRawSeries(f):l?i.eachRawSeriesByType(l,f):u&&u(i,n).each(f);function f(h){var c=h.uid,v=s.set(c,o&&o.get(c)||Rn({plan:Rb,reset:Eb,count:Ob}));v.context={model:h,ecModel:i,api:n,useClearVisual:t.isVisual&&!t.isLayout,plan:t.plan,reset:t.reset,scheduler:a},a._pipe(h,v)}},r.prototype._createOverallStageTask=function(t,e,i,n){var a=this,o=e.overallTask=e.overallTask||Rn({reset:Ab});o.context={ecModel:i,api:n,overallReset:t.overallReset,scheduler:a};var s=o.agentStubMap,l=o.agentStubMap=Q(),u=t.seriesType,f=t.getTargetSeries,h=!0,c=!1,v="";Ze(!t.createOnAllSeries,v),u?i.eachRawSeriesByType(u,d):f?f(i,n).each(d):(h=!1,A(i.getSeries(),d));function d(g){var p=g.uid,y=l.set(p,s&&s.get(p)||(c=!0,Rn({reset:Lb,onDirty:Pb})));y.context={model:g,overallProgress:h},y.agent=o,y.__block=h,a._pipe(g,y)}c&&o.dirty()},r.prototype._pipe=function(t,e){var i=t.uid,n=this._pipelineMap.get(i);!n.head&&(n.head=e),n.tail&&n.tail.pipe(e),n.tail=e,e.__idxInPipeline=n.count++,e.__pipeline=n},r.wrapStageHandler=function(t,e){return q(t)&&(t={overallReset:t,seriesType:Bb(t)}),t.uid=jo("stageHandler"),e&&(t.visualType=e),t},r})();function Ab(r){r.overallReset(r.ecModel,r.api,r.payload)}function Lb(r){return r.overallProgress&&Ib}function Ib(){this.agent.dirty(),this.getDownstream().dirty()}function Pb(){this.agent&&this.agent.dirty()}function Rb(r){return r.plan?r.plan(r.model,r.ecModel,r.api,r.payload):null}function Eb(r){r.useClearVisual&&r.data.clearAllVisual();var t=r.resetDefines=Bt(r.reset(r.model,r.ecModel,r.api,r.payload));return t.length>1?U(t,function(e,i){return Ng(i)}):kb}var kb=Ng(0);function Ng(r){return function(t,e){var i=e.data,n=e.resetDefines[r];if(n&&n.dataEach)for(var a=t.start;a0&&v===u.length-c.length){var d=u.slice(0,v);d!=="data"&&(e.mainType=d,e[c.toLowerCase()]=l,f=!0)}}s.hasOwnProperty(u)&&(i[u]=l,f=!0),f||(n[u]=l)})}return{cptQuery:e,dataQuery:i,otherQuery:n}},r.prototype.filter=function(t,e){var i=this.eventInfo;if(!i)return!0;var n=i.targetEl,a=i.packedEvent,o=i.model,s=i.view;if(!o||!s)return!0;var l=e.cptQuery,u=e.dataQuery;return f(l,o,"mainType")&&f(l,o,"subType")&&f(l,o,"index","componentIndex")&&f(l,o,"name")&&f(l,o,"id")&&f(u,a,"name")&&f(u,a,"dataIndex")&&f(u,a,"dataType")&&(!s.filterForExposedEvent||s.filterForExposedEvent(t,e.otherQuery,n,a));function f(h,c,v,d){return h[v]==null||c[d||v]===h[v]}},r.prototype.afterTrigger=function(){this.eventInfo=null},r})(),_u=["symbol","symbolSize","symbolRotate","symbolOffset"],rc=_u.concat(["symbolKeepAspect"]),zb={createOnAllSeries:!0,performRawSeries:!0,reset:function(r,t){var e=r.getData();if(r.legendIcon&&e.setVisual("legendIcon",r.legendIcon),!r.hasSymbolVisual)return;for(var i={},n={},a=!1,o=0;o<_u.length;o++){var s=_u[o],l=r.get(s);q(l)?(a=!0,n[s]=l):i[s]=l}if(i.symbol=i.symbol||r.defaultSymbol,e.setVisual(B({legendIcon:r.legendIcon||i.symbol,symbolKeepAspect:r.get("symbolKeepAspect")},i)),t.isSeriesFiltered(r))return;var u=dt(n);function f(h,c){for(var v=r.getRawValue(c),d=r.getDataParams(c),g=0;g=0&&Xr(l)?l:.5;var u=r.createRadialGradient(o,s,0,o,s,l);return u}function wu(r,t,e){for(var i=t.type==="radial"?nx(r,t,e):ix(r,t,e),n=t.colorStops,a=0;a0)?null:r==="dashed"?[4*t,2*t]:r==="dotted"?[t]:ht(r)?[r]:z(r)?r:null}function Vg(r){var t=r.style,e=t.lineDash&&t.lineWidth>0&&ox(t.lineDash,t.lineWidth),i=t.lineDashOffset;if(e){var n=t.strokeNoScale&&r.getLineScale?r.getLineScale():1;n&&n!==1&&(e=U(e,function(a){return a/n}),i/=n)}return[e,i]}var sx=new ti(!0);function Po(r){var t=r.stroke;return!(t==null||t==="none"||!(r.lineWidth>0))}function ic(r){return typeof r=="string"&&r!=="none"}function Ro(r){var t=r.fill;return t!=null&&t!=="none"}function nc(r,t){if(t.fillOpacity!=null&&t.fillOpacity!==1){var e=r.globalAlpha;r.globalAlpha=t.fillOpacity*t.opacity,r.fill(),r.globalAlpha=e}else r.fill()}function ac(r,t){if(t.strokeOpacity!=null&&t.strokeOpacity!==1){var e=r.globalAlpha;r.globalAlpha=t.strokeOpacity*t.opacity,r.stroke(),r.globalAlpha=e}else r.stroke()}function bu(r,t,e){var i=dp(t.image,t.__image,e);if(Vo(i)){var n=r.createPattern(i,t.repeat||"repeat");if(typeof DOMMatrix=="function"&&n&&n.setTransform){var a=new DOMMatrix;a.translateSelf(t.x||0,t.y||0),a.rotateSelf(0,0,(t.rotation||0)*Nm),a.scaleSelf(t.scaleX||1,t.scaleY||1),n.setTransform(a)}return n}}function lx(r,t,e,i){var n,a=Po(e),o=Ro(e),s=e.strokePercent,l=s<1,u=!t.path;(!t.silent||l)&&u&&t.createPathProxy();var f=t.path||sx,h=t.__dirty;if(!i){var c=e.fill,v=e.stroke,d=o&&!!c.colorStops,g=a&&!!v.colorStops,p=o&&!!c.image,y=a&&!!v.image,m=void 0,_=void 0,S=void 0,b=void 0,w=void 0;(d||g)&&(w=t.getBoundingRect()),d&&(m=h?wu(r,c,w):t.__canvasFillGradient,t.__canvasFillGradient=m),g&&(_=h?wu(r,v,w):t.__canvasStrokeGradient,t.__canvasStrokeGradient=_),p&&(S=h||!t.__canvasFillPattern?bu(r,c,t):t.__canvasFillPattern,t.__canvasFillPattern=S),y&&(b=h||!t.__canvasStrokePattern?bu(r,v,t):t.__canvasStrokePattern,t.__canvasStrokePattern=S),d?r.fillStyle=m:p&&(S?r.fillStyle=S:o=!1),g?r.strokeStyle=_:y&&(b?r.strokeStyle=b:a=!1)}var x=t.getGlobalScale();f.setScale(x[0],x[1],t.segmentIgnoreThreshold);var T,C;r.setLineDash&&e.lineDash&&(n=Vg(t),T=n[0],C=n[1]);var M=!0;(u||h&Si)&&(f.setDPR(r.dpr),l?f.setContext(null):(f.setContext(r),M=!1),f.reset(),t.buildPath(f,t.shape,i),f.toStatic(),t.pathUpdated()),M&&f.rebuildPath(r,l?s:1),T&&(r.setLineDash(T),r.lineDashOffset=C),i||(e.strokeFirst?(a&&ac(r,e),o&&nc(r,e)):(o&&nc(r,e),a&&ac(r,e))),T&&r.setLineDash([])}function ux(r,t,e){var i=t.__image=dp(e.image,t.__image,t,t.onload);if(!(!i||!Vo(i))){var n=e.x||0,a=e.y||0,o=t.getWidth(),s=t.getHeight(),l=i.width/i.height;if(o==null&&s!=null?o=s*l:s==null&&o!=null?s=o/l:o==null&&s==null&&(o=i.width,s=i.height),e.sWidth&&e.sHeight){var u=e.sx||0,f=e.sy||0;r.drawImage(i,u,f,e.sWidth,e.sHeight,n,a,o,s)}else if(e.sx&&e.sy){var u=e.sx,f=e.sy,h=o-u,c=s-f;r.drawImage(i,u,f,h,c,n,a,o,s)}else r.drawImage(i,n,a,o,s)}}function fx(r,t,e){var i,n=e.text;if(n!=null&&(n+=""),n){r.font=e.font||Qr,r.textAlign=e.textAlign,r.textBaseline=e.textBaseline;var a=void 0,o=void 0;r.setLineDash&&e.lineDash&&(i=Vg(t),a=i[0],o=i[1]),a&&(r.setLineDash(a),r.lineDashOffset=o),e.strokeFirst?(Po(e)&&r.strokeText(n,e.x,e.y),Ro(e)&&r.fillText(n,e.x,e.y)):(Ro(e)&&r.fillText(n,e.x,e.y),Po(e)&&r.strokeText(n,e.x,e.y)),a&&r.setLineDash([])}}var oc=["shadowBlur","shadowOffsetX","shadowOffsetY"],sc=[["lineCap","butt"],["lineJoin","miter"],["miterLimit",10]];function Wg(r,t,e,i,n){var a=!1;if(!i&&(e=e||{},t===e))return!1;if(i||t.opacity!==e.opacity){Yt(r,n),a=!0;var o=Math.max(Math.min(t.opacity,1),0);r.globalAlpha=isNaN(o)?Zr.opacity:o}(i||t.blend!==e.blend)&&(a||(Yt(r,n),a=!0),r.globalCompositeOperation=t.blend||Zr.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,i,n){if(!this[Pt]){if(this._disposed){this.id;return}var a,o,s;if(Y(i)&&(n=i.lazyUpdate,a=i.silent,o=i.replaceMerge,s=i.transition,i=i.notMerge),this[Pt]=!0,!this._model||i){var l=new mw(this._api),u=this._theme,f=this._model=new Df;f.scheduler=this._scheduler,f.ssr=this._ssr,f.init(null,null,null,u,this._locale,l)}this._model.setOption(e,{replaceMerge:o},Cu);var h={seriesTransition:s,optionChanged:!0};if(n)this[Ht]={silent:a,updateParams:h},this[Pt]=!1,this.getZr().wakeUp();else{try{yi(this),rr.update.call(this,null,h)}catch(c){throw this[Ht]=null,this[Pt]=!1,c}this._ssr||this._zr.flush(),this[Ht]=null,this[Pt]=!1,nn.call(this,a),an.call(this,a)}}},t.prototype.setTheme=function(){},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||$.hasGlobalWindow&&window.devicePixelRatio||1},t.prototype.getRenderedCanvas=function(e){return this.renderToCanvas(e)},t.prototype.renderToCanvas=function(e){e=e||{};var i=this._zr.painter;return i.getRenderedCanvas({backgroundColor:e.backgroundColor||this._model.get("backgroundColor"),pixelRatio:e.pixelRatio||this.getDevicePixelRatio()})},t.prototype.renderToSVGString=function(e){e=e||{};var i=this._zr.painter;return i.renderToString({useViewBox:e.useViewBox})},t.prototype.getSvgDataURL=function(){if($.svgSupported){var e=this._zr,i=e.storage.getDisplayList();return A(i,function(n){n.stopAnimation(null,!0)}),e.painter.toDataURL()}},t.prototype.getDataURL=function(e){if(this._disposed){this.id;return}e=e||{};var i=e.excludeComponents,n=this._model,a=[],o=this;A(i,function(l){n.eachComponent({mainType:l},function(u){var f=o._componentsMap[u.__viewId];f.group.ignore||(a.push(f),f.group.ignore=!0)})});var s=this._zr.painter.getType()==="svg"?this.getSvgDataURL():this.renderToCanvas(e).toDataURL("image/"+(e&&e.type||"png"));return A(a,function(l){l.group.ignore=!1}),s},t.prototype.getConnectedDataURL=function(e){if(this._disposed){this.id;return}var i=e.type==="svg",n=this.group,a=Math.min,o=Math.max,s=1/0;if(bc[n]){var l=s,u=s,f=-s,h=-s,c=[],v=e&&e.pixelRatio||this.getDevicePixelRatio();A(kn,function(_,S){if(_.group===n){var b=i?_.getZr().painter.getSvgDom().innerHTML:_.renderToCanvas(tt(e)),w=_.getDom().getBoundingClientRect();l=a(w.left,l),u=a(w.top,u),f=o(w.right,f),h=o(w.bottom,h),c.push({dom:b,left:w.left,top:w.top})}}),l*=v,u*=v,f*=v,h*=v;var d=f-l,g=h-u,p=Fi.createCanvas(),y=Mh(p,{renderer:i?"svg":"canvas"});if(y.resize({width:d,height:g}),i){var m="";return A(c,function(_){var S=_.left-l,b=_.top-u;m+=''+_.dom+""}),y.painter.getSvgRoot().innerHTML=m,e.connectedBackgroundColor&&y.painter.setBackgroundColor(e.connectedBackgroundColor),y.refreshImmediately(),y.painter.toDataURL()}else return e.connectedBackgroundColor&&y.add(new bt({shape:{x:0,y:0,width:d,height:g},style:{fill:e.connectedBackgroundColor}})),A(c,function(_){var S=new Sr({style:{x:_.left*v-l,y:_.top*v-u,image:_.dom}});y.add(S)}),y.refreshImmediately(),p.toDataURL("image/"+(e&&e.type||"png"))}else return this.getDataURL(e)},t.prototype.convertToPixel=function(e,i){return cl(this,"convertToPixel",e,i)},t.prototype.convertFromPixel=function(e,i){return cl(this,"convertFromPixel",e,i)},t.prototype.containPixel=function(e,i){if(this._disposed){this.id;return}var n=this._model,a,o=Bs(n,e);return A(o,function(s,l){l.indexOf("Models")>=0&&A(s,function(u){var f=u.coordinateSystem;if(f&&f.containPoint)a=a||!!f.containPoint(i);else if(l==="seriesModels"){var h=this._chartsMap[u.__viewId];h&&h.containPoint&&(a=a||h.containPoint(i,u))}},this)},this),!!a},t.prototype.getVisual=function(e,i){var n=this._model,a=Bs(n,e,{defaultMainType:"series"}),o=a.seriesModel,s=o.getData(),l=a.hasOwnProperty("dataIndexInside")?a.dataIndexInside:a.hasOwnProperty("dataIndex")?s.indexOfRawIndex(a.dataIndex):null;return l!=null?Hb(s,l,i):Vb(s,i)},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;A(Bx,function(i){var n=function(a){var o=e.getModel(),s=a.target,l,u=i==="globalout";if(u?l={}:s&&_n(s,function(d){var g=it(d);if(g&&g.dataIndex!=null){var p=g.dataModel||o.getSeriesByIndex(g.seriesIndex);return l=p&&p.getDataParams(g.dataIndex,g.dataType,s)||{},!0}else if(g.eventData)return l=B({},g.eventData),!0},!0),l){var f=l.componentType,h=l.componentIndex;(f==="markLine"||f==="markPoint"||f==="markArea")&&(f="series",h=l.seriesIndex);var c=f&&h!=null&&o.getComponent(f,h),v=c&&e[c.mainType==="series"?"_chartsMap":"_componentsMap"][c.__viewId];l.event=a,l.type=i,e._$eventProcessor.eventInfo={targetEl:s,packedEvent:l,model:c,view:v},e.trigger(i,l)}};n.zrEventfulCallAtLast=!0,e._zr.on(i,n,e)}),A(En,function(i,n){e._messageCenter.on(n,function(a){this.trigger(n,a)},e)}),A(["selectchanged"],function(i){e._messageCenter.on(i,function(n){this.trigger(i,n)},e)}),Ub(this._messageCenter,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;var e=this.getDom();e&&hp(this.getDom(),Of,"");var i=this,n=i._api,a=i._model;A(i._componentsViews,function(o){o.dispose(a,n)}),A(i._chartsViews,function(o){o.dispose(a,n)}),i._zr.dispose(),i._dom=i._model=i._chartsMap=i._componentsMap=i._chartsViews=i._componentsViews=i._scheduler=i._api=i._zr=i._throttledZrFlush=i._theme=i._coordSysMgr=i._messageCenter=null,delete kn[i.id]},t.prototype.resize=function(e){if(!this[Pt]){if(this._disposed){this.id;return}this._zr.resize(e);var i=this._model;if(this._loadingFX&&this._loadingFX.resize(),!!i){var n=i.resetOption("media"),a=e&&e.silent;this[Ht]&&(a==null&&(a=this[Ht].silent),n=!0,this[Ht]=null),this[Pt]=!0;try{n&&yi(this),rr.update.call(this,{type:"resize",animation:B({duration:0},e&&e.animation)})}catch(o){throw this[Pt]=!1,o}this[Pt]=!1,nn.call(this,a),an.call(this,a)}}},t.prototype.showLoading=function(e,i){if(this._disposed){this.id;return}if(Y(e)&&(i=e,e=""),e=e||"default",this.hideLoading(),!!Du[e]){var n=Du[e](this._api,i),a=this._zr;this._loadingFX=n,a.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 i=B({},e);return i.type=En[e.type],i},t.prototype.dispatchAction=function(e,i){if(this._disposed){this.id;return}if(Y(i)||(i={silent:!!i}),!!Eo[e.type]&&this._model){if(this[Pt]){this._pendingActions.push(e);return}var n=i.silent;pl.call(this,e,n);var a=i.flush;a?this._zr.flush():a!==!1&&$.browser.weChat&&this._throttledZrFlush(),nn.call(this,n),an.call(this,n)}},t.prototype.updateLabelLayout=function(){_e.trigger("series:layoutlabels",this._model,this._api,{updatedSeries:[]})},t.prototype.appendData=function(e){if(this._disposed){this.id;return}var i=e.seriesIndex,n=this.getModel(),a=n.getSeriesByIndex(i);a.appendData(e),this._scheduler.unfinished=!0,this.getZr().wakeUp()},t.internalField=(function(){yi=function(h){var c=h._scheduler;c.restorePipelines(h._model),c.prepareStageTasks(),vl(h,!0),vl(h,!1),c.plan()},vl=function(h,c){for(var v=h._model,d=h._scheduler,g=c?h._componentsViews:h._chartsViews,p=c?h._componentsMap:h._chartsMap,y=h._zr,m=h._api,_=0;_c.get("hoverLayerThreshold")&&!$.node&&!$.worker&&c.eachSeries(function(p){if(!p.preventUsingHoverLayer){var y=h._chartsMap[p.__viewId];y.__alive&&y.eachRendered(function(m){m.states.emphasis&&(m.states.emphasis.hoverLayer=!0)})}})}function o(h,c){var v=h.get("blendMode")||null;c.eachRendered(function(d){d.isGroup||(d.style.blend=v)})}function s(h,c){if(!h.preventAutoZ){var v=h.get("z")||0,d=h.get("zlevel")||0;c.eachRendered(function(g){return l(g,v,d,-1/0),!0})}}function l(h,c,v,d){var g=h.getTextContent(),p=h.getTextGuideLine(),y=h.isGroup;if(y)for(var m=h.childrenRef(),_=0;_0?{duration:g,delay:v.get("delay"),easing:v.get("easing")}:null;c.eachRendered(function(y){if(y.states&&y.states.emphasis){if(Ln(y))return;if(y instanceof st&&N1(y),y.__dirty){var m=y.prevStates;m&&y.useStates(m)}if(d){y.stateTransition=p;var _=y.getTextContent(),S=y.getTextGuideLine();_&&(_.stateTransition=p),S&&(S.stateTransition=p)}y.__dirty&&n(y)}})}Sc=function(h){return new((function(c){N(v,c);function v(){return c!==null&&c.apply(this,arguments)||this}return v.prototype.getCoordinateSystems=function(){return h._coordSysMgr.getCoordinateSystems()},v.prototype.getComponentByElement=function(d){for(;d;){var g=d.__ecComponentInfo;if(g!=null)return h._model.getComponent(g.mainType,g.index);d=d.parent}},v.prototype.enterEmphasis=function(d,g){So(d,g),te(h)},v.prototype.leaveEmphasis=function(d,g){wo(d,g),te(h)},v.prototype.enterBlur=function(d){M1(d),te(h)},v.prototype.leaveBlur=function(d){Mp(d),te(h)},v.prototype.enterSelect=function(d){Ap(d),te(h)},v.prototype.leaveSelect=function(d){Lp(d),te(h)},v.prototype.getModel=function(){return h.getModel()},v.prototype.getViewOfComponentModel=function(d){return h.getViewOfComponentModel(d)},v.prototype.getViewOfSeriesModel=function(d){return h.getViewOfSeriesModel(d)},v})(cg))(h)},ny=function(h){function c(v,d){for(var g=0;g=0)){xc.push(e);var a=Bg.wrapStageHandler(e,n);a.__prio=t,a.__raw=e,r.push(a)}}function fy(r,t){Du[r]=t}function Wx(r,t,e){var i=Sx("registerMap");i&&i(r,t,e)}var Ux=Zw;ii(Ef,Tb);ii(us,Cb);ii(us,Db);ii(Ef,zb);ii(us,Gb);ii(Jg,mx);ly(pg);uy(Tx,Iw);fy("default",Mb);Hi({type:qr,event:qr,update:qr},Xt);Hi({type:ja,event:ja,update:ja},Xt);Hi({type:Dn,event:Dn,update:Dn},Xt);Hi({type:to,event:to,update:to},Xt);Hi({type:Mn,event:Mn,update:Mn},Xt);sy("light",Nb);sy("dark",Gg);function on(r){return r==null?0:r.length||1}function Tc(r){return r}var Yx=(function(){function r(t,e,i,n,a,o){this._old=t,this._new=e,this._oldKeyGetter=i||Tc,this._newKeyGetter=n||Tc,this.context=a,this._diffModeMultiple=o==="multiple"}return r.prototype.add=function(t){return this._add=t,this},r.prototype.update=function(t){return this._update=t,this},r.prototype.updateManyToOne=function(t){return this._updateManyToOne=t,this},r.prototype.updateOneToMany=function(t){return this._updateOneToMany=t,this},r.prototype.updateManyToMany=function(t){return this._updateManyToMany=t,this},r.prototype.remove=function(t){return this._remove=t,this},r.prototype.execute=function(){this[this._diffModeMultiple?"_executeMultiple":"_executeOneToOne"]()},r.prototype._executeOneToOne=function(){var t=this._old,e=this._new,i={},n=new Array(t.length),a=new Array(e.length);this._initIndexMap(t,null,n,"_oldKeyGetter"),this._initIndexMap(e,i,a,"_newKeyGetter");for(var o=0;o1){var f=l.shift();l.length===1&&(i[s]=l[0]),this._update&&this._update(f,o)}else u===1?(i[s]=null,this._update&&this._update(l,o)):this._remove&&this._remove(o)}this._performRestAdd(a,i)},r.prototype._executeMultiple=function(){var t=this._old,e=this._new,i={},n={},a=[],o=[];this._initIndexMap(t,i,a,"_oldKeyGetter"),this._initIndexMap(e,n,o,"_newKeyGetter");for(var s=0;s1&&c===1)this._updateManyToOne&&this._updateManyToOne(f,u),n[l]=null;else if(h===1&&c>1)this._updateOneToMany&&this._updateOneToMany(f,u),n[l]=null;else if(h===1&&c===1)this._update&&this._update(f,u),n[l]=null;else if(h>1&&c>1)this._updateManyToMany&&this._updateManyToMany(f,u),n[l]=null;else if(h>1)for(var v=0;v1)for(var s=0;s30}var sn=Y,ir=U,Jx=typeof Int32Array>"u"?Array:Int32Array,jx="e\0\0",Cc=-1,tT=["hasItemOption","_nameList","_idList","_invertedIndicesMap","_dimSummary","userOutput","_rawData","_dimValueGetter","_nameDimIdx","_idDimIdx","_nameRepeatCount"],eT=["_approximateExtent"],Dc,Ba,ln,un,ml,fn,_l,gy=(function(){function r(t,e){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 i,n=!1;vy(t)?(i=t.dimensions,this._dimOmitted=t.isDimensionOmitted(),this._schema=t):(n=!0,i=t),i=i||["x","y"];for(var a={},o=[],s={},l=!1,u={},f=0;f=e)){var i=this._store,n=i.getProvider();this._updateOrdinalMeta();var a=this._nameList,o=this._idList,s=n.getSource().sourceFormat,l=s===de;if(l&&!n.pure)for(var u=[],f=t;f0},r.prototype.ensureUniqueItemVisual=function(t,e){var i=this._itemVisuals,n=i[t];n||(n=i[t]={});var a=n[e];return a==null&&(a=this.getVisual(e),z(a)?a=a.slice():sn(a)&&(a=B({},a)),n[e]=a),a},r.prototype.setItemVisual=function(t,e,i){var n=this._itemVisuals[t]||{};this._itemVisuals[t]=n,sn(e)?B(n,e):n[e]=i},r.prototype.clearAllVisual=function(){this._visual={},this._itemVisuals=[]},r.prototype.setLayout=function(t,e){sn(t)?B(this._layout,t):this._layout[t]=e},r.prototype.getLayout=function(t){return this._layout[t]},r.prototype.getItemLayout=function(t){return this._itemLayouts[t]},r.prototype.setItemLayout=function(t,e,i){this._itemLayouts[t]=i?B(this._itemLayouts[t]||{},e):e},r.prototype.clearItemLayouts=function(){this._itemLayouts.length=0},r.prototype.setItemGraphicEl=function(t,e){var i=this.hostModel&&this.hostModel.seriesIndex;y1(i,this.dataType,t,e),this._graphicEls[t]=e},r.prototype.getItemGraphicEl=function(t){return this._graphicEls[t]},r.prototype.eachItemGraphicEl=function(t,e){A(this._graphicEls,function(i,n){i&&t&&t.call(e,i,n)})},r.prototype.cloneShallow=function(t){return t||(t=new r(this._schema?this._schema:ir(this.dimensions,this._getDimInfo,this),this.hostModel)),ml(t,this),t._store=this._store,t},r.prototype.wrapMethod=function(t,e){var i=this[t];q(i)&&(this.__wrappedMethods=this.__wrappedMethods||[],this.__wrappedMethods.push(t),this[t]=function(){var n=i.apply(this,arguments);return e.apply(this,[n].concat(Yu(arguments)))})},r.internalField=(function(){Dc=function(t){var e=t._invertedIndicesMap;A(e,function(i,n){var a=t._dimInfos[n],o=a.ordinalMeta,s=t._store;if(o){i=e[n]=new Jx(o.categories.length);for(var l=0;l1&&(l+="__ec__"+f),n[e]=l}}})(),r})();function yy(r,t){Af(r)||(r=gg(r)),t=t||{};var e=t.coordDimensions||[],i=t.dimensionsDefine||r.dimensionsDefine||[],n=Q(),a=[],o=iT(r,e,i,t.dimensionsCount),s=t.canOmitUnusedDimensions&&py(o),l=i===r.dimensionsDefine,u=l?dy(r):cy(i),f=t.encodeDefine;!f&&t.encodeDefaulter&&(f=t.encodeDefaulter(r,o));for(var h=Q(f),c=new Tg(o),v=0;v0&&(i.name=n+(a-1)),a++,t.set(n,a)}}function iT(r,t,e,i){var n=Math.max(r.dimensionsDetectedCount||1,t.length,e.length,i||0);return A(t,function(a){var o;Y(a)&&(o=a.dimsDef)&&(n=Math.max(n,o.length))}),n}function nT(r,t,e){if(e||t.hasKey(r)){for(var i=0;t.hasKey(r+i);)i++;r+=i}return t.set(r,!0),r}var aT=(function(){function r(t){this.coordSysDims=[],this.axisMap=Q(),this.categoryAxisMap=Q(),this.coordSysName=t}return r})();function oT(r){var t=r.get("coordinateSystem"),e=new aT(t),i=sT[t];if(i)return i(r,e,e.axisMap,e.categoryAxisMap),e}var sT={cartesian2d:function(r,t,e,i){var n=r.getReferringComponents("xAxis",Se).models[0],a=r.getReferringComponents("yAxis",Se).models[0];t.coordSysDims=["x","y"],e.set("x",n),e.set("y",a),mi(n)&&(i.set("x",n),t.firstCategoryDimIndex=0),mi(a)&&(i.set("y",a),t.firstCategoryDimIndex==null&&(t.firstCategoryDimIndex=1))},singleAxis:function(r,t,e,i){var n=r.getReferringComponents("singleAxis",Se).models[0];t.coordSysDims=["single"],e.set("single",n),mi(n)&&(i.set("single",n),t.firstCategoryDimIndex=0)},polar:function(r,t,e,i){var n=r.getReferringComponents("polar",Se).models[0],a=n.findAxisModel("radiusAxis"),o=n.findAxisModel("angleAxis");t.coordSysDims=["radius","angle"],e.set("radius",a),e.set("angle",o),mi(a)&&(i.set("radius",a),t.firstCategoryDimIndex=0),mi(o)&&(i.set("angle",o),t.firstCategoryDimIndex==null&&(t.firstCategoryDimIndex=1))},geo:function(r,t,e,i){t.coordSysDims=["lng","lat"]},parallel:function(r,t,e,i){var n=r.ecModel,a=n.getComponent("parallel",r.get("parallelIndex")),o=t.coordSysDims=a.dimensions.slice();A(a.parallelAxisIndex,function(s,l){var u=n.getComponent("parallelAxis",s),f=o[l];e.set(f,u),mi(u)&&(i.set(f,u),t.firstCategoryDimIndex==null&&(t.firstCategoryDimIndex=l))})}};function mi(r){return r.get("type")==="category"}function lT(r,t,e){e=e||{};var i=e.byIndex,n=e.stackedCoordDimension,a,o,s;uT(t)?a=t:(o=t.schema,a=o.dimensions,s=t.store);var l=!!(r&&r.get("stack")),u,f,h,c;if(A(a,function(m,_){V(m)&&(a[_]=m={name:m}),l&&!m.isExtraCoord&&(!i&&!u&&m.ordinalMeta&&(u=m),!f&&m.type!=="ordinal"&&m.type!=="time"&&(!n||n===m.coordDim)&&(f=m))}),f&&!i&&!u&&(i=!0),f){h="__\0ecstackresult_"+r.id,c="__\0ecstackedover_"+r.id,u&&(u.createInvertedIndices=!0);var v=f.coordDim,d=f.type,g=0;A(a,function(m){m.coordDim===v&&g++});var p={name:h,coordDim:v,coordDimIndex:g,type:d,isExtraCoord:!0,isCalculationCoord:!0,storeDimIndex:a.length},y={name:c,coordDim:c,coordDimIndex:g+1,type:d,isExtraCoord:!0,isCalculationCoord:!0,storeDimIndex:a.length+1};o?(s&&(p.storeDimIndex=s.ensureCalculationDimension(c,d),y.storeDimIndex=s.ensureCalculationDimension(h,d)),o.appendCalculationDimension(p),o.appendCalculationDimension(y)):(a.push(p),a.push(y))}return{stackedDimension:f&&f.name,stackedByDimension:u&&u.name,isStackedByIndex:i,stackedOverDimension:c,stackResultDimension:h}}function uT(r){return!vy(r.schema)}function Ni(r,t){return!!t&&t===r.getCalculationInfo("stackedDimension")}function fT(r,t){return Ni(r,t)?r.getCalculationInfo("stackResultDimension"):t}function hT(r,t){var e=r.get("coordinateSystem"),i=Mf.get(e),n;return t&&t.coordSysDims&&(n=U(t.coordSysDims,function(a){var o={name:a},s=t.axisMap.get(a);if(s){var l=s.get("type");o.type=Zx(l)}return o})),n||(n=i&&(i.getDimensionsInfo?i.getDimensionsInfo():i.dimensions.slice())||["x","y"]),n}function vT(r,t,e){var i,n;return e&&A(r,function(a,o){var s=a.coordDim,l=e.categoryAxisMap.get(s);l&&(i==null&&(i=o),a.ordinalMeta=l.getOrdinalMeta(),t&&(a.createInvertedIndices=!0)),a.otherDims.itemName!=null&&(n=!0)}),!n&&i!=null&&(r[i].otherDims.itemName=0),i}function Ff(r,t,e){e=e||{};var i=t.getSourceManager(),n,a=!1;n=i.getSource(),a=n.sourceFormat===de;var o=oT(t),s=hT(t,o),l=e.useEncodeDefaulter,u=q(l)?l:l?_t(aw,s,t):null,f={coordDimensions:s,generateCoord:e.generateCoord,encodeDefine:t.getEncode(),encodeDefaulter:u,canOmitUnusedDimensions:!a},h=yy(n,f),c=vT(h.dimensions,e.createInvertedIndices,o),v=a?null:i.getSharedDataStore(h),d=lT(t,{schema:h,store:v}),g=new gy(h,t);g.setCalculationInfo(d);var p=c!=null&&cT(n)?function(y,m,_,S){return S===c?_:this.defaultDimValueGetter(y,m,_,S)}:null;return g.hasItemOption=!1,g.initData(a?n:v,null,p),g}function cT(r){if(r.sourceFormat===de){var t=dT(r.data||[]);return!z(ta(t))}}function dT(r){for(var t=0;te[1]&&(e[1]=t[1])},r.prototype.unionExtentFromData=function(t,e){this.unionExtent(t.getApproximateExtent(e))},r.prototype.getExtent=function(){return this._extent.slice()},r.prototype.setExtent=function(t,e){var i=this._extent;isNaN(t)||(i[0]=t),isNaN(e)||(i[1]=e)},r.prototype.isInExtentRange=function(t){return this._extent[0]<=t&&this._extent[1]>=t},r.prototype.isBlank=function(){return this._isBlank},r.prototype.setBlank=function(t){this._isBlank=t},r})();Ho(Fe);var pT=0,Mu=(function(){function r(t){this.categories=t.categories||[],this._needCollect=t.needCollect,this._deduplication=t.deduplication,this.uid=++pT}return r.createByAxisModel=function(t){var e=t.option,i=e.data,n=i&&U(i,gT);return new r({categories:n,needCollect:!n,deduplication:e.dedplication!==!1})},r.prototype.getOrdinal=function(t){return this._getOrCreateMap().get(t)},r.prototype.parseAndCollect=function(t){var e,i=this._needCollect;if(!V(t)&&!i)return t;if(i&&!this._deduplication)return e=this.categories.length,this.categories[e]=t,e;var n=this._getOrCreateMap();return e=n.get(t),e==null&&(i?(e=this.categories.length,this.categories[e]=t,n.set(t,e)):e=NaN),e},r.prototype._getOrCreateMap=function(){return this._map||(this._map=Q(this.categories))},r})();function gT(r){return Y(r)&&r.value!=null?r.value:r+""}function Au(r){return r.type==="interval"||r.type==="log"}function yT(r,t,e,i){var n={},a=r[1]-r[0],o=n.interval=op(a/t);e!=null&&oi&&(o=n.interval=i);var s=n.intervalPrecision=my(o),l=n.niceTickExtent=[wt(Math.ceil(r[0]/o)*o,s),wt(Math.floor(r[1]/o)*o,s)];return mT(l,r),n}function Sl(r){var t=Math.pow(10,tf(r)),e=r/t;return e?e===2?e=3:e===3?e=5:e*=2:e=1,wt(e*t)}function my(r){return We(r)+2}function Mc(r,t,e){r[t]=Math.max(Math.min(r[t],e[1]),e[0])}function mT(r,t){!isFinite(r[0])&&(r[0]=t[0]),!isFinite(r[1])&&(r[1]=t[1]),Mc(r,0,t),Mc(r,1,t),r[0]>r[1]&&(r[0]=r[1])}function fs(r,t){return r>=t[0]&&r<=t[1]}function hs(r,t){return t[1]===t[0]?.5:(r-t[0])/(t[1]-t[0])}function vs(r,t){return r*(t[1]-t[0])+t[0]}var zf=(function(r){N(t,r);function t(e){var i=r.call(this,e)||this;i.type="ordinal";var n=i.getSetting("ordinalMeta");return n||(n=new Mu({})),z(n)&&(n=new Mu({categories:U(n,function(a){return Y(a)?a.value:a})})),i._ordinalMeta=n,i._extent=i.getSetting("extent")||[0,n.categories.length-1],i}return t.prototype.parse=function(e){return e==null?NaN:V(e)?this._ordinalMeta.getOrdinal(e):Math.round(e)},t.prototype.contain=function(e){return e=this.parse(e),fs(e,this._extent)&&this._ordinalMeta.categories[e]!=null},t.prototype.normalize=function(e){return e=this._getTickNumber(this.parse(e)),hs(e,this._extent)},t.prototype.scale=function(e){return e=Math.round(vs(e,this._extent)),this.getRawOrdinalNumber(e)},t.prototype.getTicks=function(){for(var e=[],i=this._extent,n=i[0];n<=i[1];)e.push({value:n}),n++;return e},t.prototype.getMinorTicks=function(e){},t.prototype.setSortInfo=function(e){if(e==null){this._ordinalNumbersByTick=this._ticksByOrdinalNumber=null;return}for(var i=e.ordinalNumbers,n=this._ordinalNumbersByTick=[],a=this._ticksByOrdinalNumber=[],o=0,s=this._ordinalMeta.categories.length,l=Math.min(s,i.length);o=0&&e=0&&e=e},t.prototype.getOrdinalMeta=function(){return this._ordinalMeta},t.prototype.calcNiceTicks=function(){},t.prototype.calcNiceExtent=function(){},t.type="ordinal",t})(Fe);Fe.registerClass(zf);var Vr=wt,Vi=(function(r){N(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type="interval",e._interval=0,e._intervalPrecision=2,e}return t.prototype.parse=function(e){return e},t.prototype.contain=function(e){return fs(e,this._extent)},t.prototype.normalize=function(e){return hs(e,this._extent)},t.prototype.scale=function(e){return vs(e,this._extent)},t.prototype.setExtent=function(e,i){var n=this._extent;isNaN(e)||(n[0]=parseFloat(e)),isNaN(i)||(n[1]=parseFloat(i))},t.prototype.unionExtent=function(e){var i=this._extent;e[0]i[1]&&(i[1]=e[1]),this.setExtent(i[0],i[1])},t.prototype.getInterval=function(){return this._interval},t.prototype.setInterval=function(e){this._interval=e,this._niceExtent=this._extent.slice(),this._intervalPrecision=my(e)},t.prototype.getTicks=function(e){var i=this._interval,n=this._extent,a=this._niceExtent,o=this._intervalPrecision,s=[];if(!i)return s;var l=1e4;n[0]l)return[];var f=s.length?s[s.length-1].value:a[1];return n[1]>f&&(e?s.push({value:Vr(f+i,o)}):s.push({value:n[1]})),s},t.prototype.getMinorTicks=function(e){for(var i=this.getTicks(!0),n=[],a=this.getExtent(),o=1;oa[0]&&v0&&(a=a===null?s:Math.min(a,s))}e[i]=a}}return e}function by(r){var t=wT(r),e=[];return A(r,function(i){var n=i.coordinateSystem,a=n.getBaseAxis(),o=a.getExtent(),s;if(a.type==="category")s=a.getBandWidth();else if(a.type==="value"||a.type==="time"){var l=a.dim+"_"+a.index,u=t[l],f=Math.abs(o[1]-o[0]),h=a.scale.getExtent(),c=Math.abs(h[1]-h[0]);s=u?f/c*u:f}else{var v=i.getData();s=Math.abs(o[1]-o[0])/v.count()}var d=ct(i.get("barWidth"),s),g=ct(i.get("barMaxWidth"),s),p=ct(i.get("barMinWidth")||(Ty(i)?.5:1),s),y=i.get("barGap"),m=i.get("barCategoryGap");e.push({bandWidth:s,barWidth:d,barMaxWidth:g,barMinWidth:p,barGap:y,barCategoryGap:m,axisKey:Gf(a),stackId:Sy(i)})}),bT(e)}function bT(r){var t={};A(r,function(i,n){var a=i.axisKey,o=i.bandWidth,s=t[a]||{bandWidth:o,remainedWidth:o,autoWidthCount:0,categoryGap:null,gap:"20%",stacks:{}},l=s.stacks;t[a]=s;var u=i.stackId;l[u]||s.autoWidthCount++,l[u]=l[u]||{width:0,maxWidth:0};var f=i.barWidth;f&&!l[u].width&&(l[u].width=f,f=Math.min(s.remainedWidth,f),s.remainedWidth-=f);var h=i.barMaxWidth;h&&(l[u].maxWidth=h);var c=i.barMinWidth;c&&(l[u].minWidth=c);var v=i.barGap;v!=null&&(s.gap=v);var d=i.barCategoryGap;d!=null&&(s.categoryGap=d)});var e={};return A(t,function(i,n){e[n]={};var a=i.stacks,o=i.bandWidth,s=i.categoryGap;if(s==null){var l=dt(a).length;s=Math.max(35-l*4,15)+"%"}var u=ct(s,o),f=ct(i.gap,1),h=i.remainedWidth,c=i.autoWidthCount,v=(h-u)/(c+(c-1)*f);v=Math.max(v,0),A(a,function(y){var m=y.maxWidth,_=y.minWidth;if(y.width){var S=y.width;m&&(S=Math.min(S,m)),_&&(S=Math.max(S,_)),y.width=S,h-=S+f*S,c--}else{var S=v;m&&mS&&(S=_),S!==v&&(y.width=S,h-=S+f*S,c--)}}),v=(h-u)/(c+(c-1)*f),v=Math.max(v,0);var d=0,g;A(a,function(y,m){y.width||(y.width=v),g=y,d+=y.width*(1+f)}),g&&(d-=g.width*f);var p=-d/2;A(a,function(y,m){e[n][m]=e[n][m]||{bandWidth:o,offset:p,width:y.width},p+=y.width*(1+f)})}),e}function xT(r,t,e){if(r&&t){var i=r[Gf(t)];return i}}function TT(r,t){var e=wy(r,t),i=by(e);A(e,function(n){var a=n.getData(),o=n.coordinateSystem,s=o.getBaseAxis(),l=Sy(n),u=i[Gf(s)][l],f=u.offset,h=u.width;a.setLayout({bandWidth:u.bandWidth,offset:f,size:h})})}function CT(r){return{seriesType:r,plan:Pf(),reset:function(t){if(xy(t)){var e=t.getData(),i=t.coordinateSystem,n=i.getBaseAxis(),a=i.getOtherAxis(n),o=e.getDimensionIndex(e.mapDimension(a.dim)),s=e.getDimensionIndex(e.mapDimension(n.dim)),l=t.get("showBackground",!0),u=e.mapDimension(a.dim),f=e.getCalculationInfo("stackResultDimension"),h=Ni(e,u)&&!!e.getCalculationInfo("stackedOnSeries"),c=a.isHorizontal(),v=DT(n,a),d=Ty(t),g=t.get("barMinHeight")||0,p=f&&e.getDimensionIndex(f),y=e.getLayout("size"),m=e.getLayout("offset");return{progress:function(_,S){for(var b=_.count,w=d&&Ue(b*3),x=d&&l&&Ue(b*3),T=d&&Ue(b),C=i.master.getRect(),M=c?C.width:C.height,D,L=S.getStore(),I=0;(D=_.next())!=null;){var P=L.get(h?p:o,D),R=L.get(s,D),E=v,G=void 0;h&&(G=+P-L.get(o,D));var k=void 0,O=void 0,F=void 0,H=void 0;if(c){var W=i.dataToPoint([P,R]);if(h){var j=i.dataToPoint([G,R]);E=j[0]}k=E,O=W[1]+m,F=W[0]-E,H=y,Math.abs(F)0?e:1:e))}var MT=function(r,t,e,i){for(;e>>1;r[n][1]n&&(this._approxInterval=n);var s=Na.length,l=Math.min(MT(Na,this._approxInterval,0,s),s-1);this._interval=Na[l][1],this._minLevelUnit=Na[Math.max(l-1,0)][0]},t.prototype.parse=function(e){return ht(e)?e:+qe(e)},t.prototype.contain=function(e){return fs(this.parse(e),this._extent)},t.prototype.normalize=function(e){return hs(this.parse(e),this._extent)},t.prototype.scale=function(e){return vs(e,this._extent)},t.type="time",t})(Vi),Na=[["second",Sf],["minute",wf],["hour",In],["quarter-day",In*6],["half-day",In*12],["day",ue*1.2],["half-week",ue*3.5],["week",ue*7],["month",ue*31],["quarter",ue*95],["half-year",mv/2],["year",mv]];function AT(r,t,e,i){var n=qe(t),a=qe(e),o=function(d){return Sv(n,d,i)===Sv(a,d,i)},s=function(){return o("year")},l=function(){return s()&&o("month")},u=function(){return l()&&o("day")},f=function(){return u()&&o("hour")},h=function(){return f()&&o("minute")},c=function(){return h()&&o("second")},v=function(){return c()&&o("millisecond")};switch(r){case"year":return s();case"month":return l();case"day":return u();case"hour":return f();case"minute":return h();case"second":return c();case"millisecond":return v()}}function LT(r,t){return r/=ue,r>16?16:r>7.5?7:r>3.5?4:r>1.5?2:1}function IT(r){var t=30*ue;return r/=t,r>6?6:r>3?3:r>2?2:1}function PT(r){return r/=In,r>12?12:r>6?6:r>3.5?4:r>2?2:1}function Ac(r,t){return r/=t?wf:Sf,r>30?30:r>20?20:r>15?15:r>10?10:r>5?5:r>2?2:1}function RT(r){return op(r)}function ET(r,t,e){var i=new Date(r);switch(Pi(t)){case"year":case"month":i[Jp(e)](0);case"day":i[jp(e)](1);case"hour":i[tg(e)](0);case"minute":i[eg(e)](0);case"second":i[rg(e)](0),i[ig(e)](0)}return i.getTime()}function kT(r,t,e,i){var n=1e4,a=Kp,o=0;function s(M,D,L,I,P,R,E){for(var G=new Date(D),k=D,O=G[I]();k1&&R===0&&L.unshift({value:L[0].value-k})}}for(var R=0;R=i[0]&&m<=i[1]&&h++)}var _=(i[1]-i[0])/t;if(h>_*1.5&&c>_/1.5||(u.push(p),h>_||r===a[v]))break}f=[]}}}for(var S=Mt(U(u,function(M){return Mt(M,function(D){return D.value>=i[0]&&D.value<=i[1]&&!D.notAdd})}),function(M){return M.length>0}),b=[],w=S.length-1,v=0;v0;)a*=10;var s=[wt(NT(i[0]/a)*a),wt(BT(i[1]/a)*a)];this._interval=a,this._niceExtent=s}},t.prototype.calcNiceExtent=function(e){On.calcNiceExtent.call(this,e),this._fixMin=e.fixMin,this._fixMax=e.fixMax},t.prototype.parse=function(e){return e},t.prototype.contain=function(e){return e=ge(e)/ge(this.base),fs(e,this._extent)},t.prototype.normalize=function(e){return e=ge(e)/ge(this.base),hs(e,this._extent)},t.prototype.scale=function(e){return e=vs(e,this._extent),Fa(this.base,e)},t.type="log",t})(Fe),Dy=Hf.prototype;Dy.getMinorTicks=On.getMinorTicks;Dy.getLabel=On.getLabel;function za(r,t){return OT(r,We(t))}Fe.registerClass(Hf);var FT=(function(){function r(t,e,i){this._prepareParams(t,e,i)}return r.prototype._prepareParams=function(t,e,i){i[1]0&&l>0&&!u&&(s=0),s<0&&l<0&&!f&&(l=0));var c=this._determinedMin,v=this._determinedMax;return c!=null&&(s=c,u=!0),v!=null&&(l=v,f=!0),{min:s,max:l,minFixed:u,maxFixed:f,isBlank:h}},r.prototype.modifyDataMinMax=function(t,e){this[GT[t]]=e},r.prototype.setDeterminedMinMax=function(t,e){var i=zT[t];this[i]=e},r.prototype.freeze=function(){this.frozen=!0},r})(),zT={min:"_determinedMin",max:"_determinedMax"},GT={min:"_dataMin",max:"_dataMax"};function HT(r,t,e){var i=r.rawExtentInfo;return i||(i=new FT(r,t,e),r.rawExtentInfo=i,i)}function Ga(r,t){return t==null?null:oo(t)?NaN:r.parse(t)}function My(r,t){var e=r.type,i=HT(r,t,r.getExtent()).calculate();r.setBlank(i.isBlank);var n=i.min,a=i.max,o=t.ecModel;if(o&&e==="time"){var s=wy("bar",o),l=!1;if(A(s,function(h){l=l||h.getBaseAxis()===t.axis}),l){var u=by(s),f=VT(n,a,t,u);n=f.min,a=f.max}}return{extent:[n,a],fixMin:i.minFixed,fixMax:i.maxFixed}}function VT(r,t,e,i){var n=e.axis.getExtent(),a=Math.abs(n[1]-n[0]),o=xT(i,e.axis);if(o===void 0)return{min:r,max:t};var s=1/0;A(o,function(v){s=Math.min(v.offset,s)});var l=-1/0;A(o,function(v){l=Math.max(v.offset+v.width,l)}),s=Math.abs(s),l=Math.abs(l);var u=s+l,f=t-r,h=1-(s+l)/a,c=f/h-f;return t+=c*(l/u),r-=c*(s/u),{min:r,max:t}}function Ic(r,t){var e=t,i=My(r,e),n=i.extent,a=e.get("splitNumber");r instanceof Hf&&(r.base=e.get("logBase"));var o=r.type,s=e.get("interval"),l=o==="interval"||o==="time";r.setExtent(n[0],n[1]),r.calcNiceExtent({splitNumber:a,fixMin:i.fixMin,fixMax:i.fixMax,minInterval:l?e.get("minInterval"):null,maxInterval:l?e.get("maxInterval"):null}),s!=null&&r.setInterval&&r.setInterval(s)}function WT(r,t){if(t=t||r.get("type"),t)switch(t){case"category":return new zf({ordinalMeta:r.getOrdinalMeta?r.getOrdinalMeta():r.getCategories(),extent:[1/0,-1/0]});case"time":return new Cy({locale:r.ecModel.getLocaleModel(),useUTC:r.ecModel.get("useUTC")});default:return new(Fe.getClass(t)||Vi)}}function UT(r){var t=r.scale.getExtent(),e=t[0],i=t[1];return!(e>0&&i>0||e<0&&i<0)}function Wi(r){var t=r.getLabelModel().get("formatter"),e=r.type==="category"?r.scale.getExtent()[0]:null;return r.scale.type==="time"?(function(i){return function(n,a){return r.scale.getFormattedLabel(n,a,i)}})(t):V(t)?(function(i){return function(n){var a=r.scale.getLabel(n),o=i.replace("{value}",a??"");return o}})(t):q(t)?(function(i){return function(n,a){return e!=null&&(a=n.value-e),i(Vf(r,n),a,n.level!=null?{level:n.level}:null)}})(t):function(i){return r.scale.getLabel(i)}}function Vf(r,t){return r.type==="category"?r.scale.getLabel(t):t.value}function YT(r){var t=r.model,e=r.scale;if(!(!t.get(["axisLabel","show"])||e.isBlank())){var i,n,a=e.getExtent();e instanceof zf?n=e.count():(i=e.getTicks(),n=i.length);var o=r.getLabelModel(),s=Wi(r),l,u=1;n>40&&(u=Math.ceil(n/40));for(var f=0;f=0||(Pc.push(r),q(r)&&(r={install:r}),r.install(qT))}var Kn=St();function Ly(r,t){var e=U(t,function(i){return r.scale.parse(i)});return r.type==="time"&&e.length>0&&(e.sort(),e.unshift(e[0]),e.push(e[e.length-1])),e}function KT(r){var t=r.getLabelModel().get("customValues");if(t){var e=Wi(r),i=r.scale.getExtent(),n=Ly(r,t),a=Mt(n,function(o){return o>=i[0]&&o<=i[1]});return{labels:U(a,function(o){var s={value:o};return{formattedLabel:e(s),rawLabel:r.scale.getLabel(s),tickValue:o}})}}return r.type==="category"?JT(r):tC(r)}function QT(r,t){var e=r.getTickModel().get("customValues");if(e){var i=r.scale.getExtent(),n=Ly(r,e);return{ticks:Mt(n,function(a){return a>=i[0]&&a<=i[1]})}}return r.type==="category"?jT(r,t):{ticks:U(r.scale.getTicks(),function(a){return a.value})}}function JT(r){var t=r.getLabelModel(),e=Iy(r,t);return!t.get("show")||r.scale.isBlank()?{labels:[],labelCategoryInterval:e.labelCategoryInterval}:e}function Iy(r,t){var e=Py(r,"labels"),i=Wf(t),n=Ry(e,i);if(n)return n;var a,o;return q(i)?a=Oy(r,i):(o=i==="auto"?eC(r):i,a=ky(r,o)),Ey(e,i,{labels:a,labelCategoryInterval:o})}function jT(r,t){var e=Py(r,"ticks"),i=Wf(t),n=Ry(e,i);if(n)return n;var a,o;if((!t.get("show")||r.scale.isBlank())&&(a=[]),q(i))a=Oy(r,i,!0);else if(i==="auto"){var s=Iy(r,r.getLabelModel());o=s.labelCategoryInterval,a=U(s.labels,function(l){return l.tickValue})}else o=i,a=ky(r,o,!0);return Ey(e,i,{ticks:a,tickCategoryInterval:o})}function tC(r){var t=r.scale.getTicks(),e=Wi(r);return{labels:U(t,function(i,n){return{level:i.level,formattedLabel:e(i,n),rawLabel:r.scale.getLabel(i),tickValue:i.value}})}}function Py(r,t){return Kn(r)[t]||(Kn(r)[t]=[])}function Ry(r,t){for(var e=0;e40&&(s=Math.max(1,Math.floor(o/40)));for(var l=a[0],u=r.dataToCoord(l+1)-r.dataToCoord(l),f=Math.abs(u*Math.cos(i)),h=Math.abs(u*Math.sin(i)),c=0,v=0;l<=a[1];l+=s){var d=0,g=0,p=Ju(e({value:l}),t.font,"center","top");d=p.width*1.3,g=p.height*1.3,c=Math.max(c,d,7),v=Math.max(v,g,7)}var y=c/f,m=v/h;isNaN(y)&&(y=1/0),isNaN(m)&&(m=1/0);var _=Math.max(0,Math.floor(Math.min(y,m))),S=Kn(r.model),b=r.getExtent(),w=S.lastAutoInterval,x=S.lastTickCount;return w!=null&&x!=null&&Math.abs(w-_)<=1&&Math.abs(x-o)<=1&&w>_&&S.axisExtent0===b[0]&&S.axisExtent1===b[1]?_=w:(S.lastTickCount=o,S.lastAutoInterval=_,S.axisExtent0=b[0],S.axisExtent1=b[1]),_}function iC(r){var t=r.getLabelModel();return{axisRotate:r.getRotate?r.getRotate():r.isHorizontal&&!r.isHorizontal()?90:0,labelRotate:t.get("rotate")||0,font:t.getFont()}}function ky(r,t,e){var i=Wi(r),n=r.scale,a=n.getExtent(),o=r.getLabelModel(),s=[],l=Math.max((t||0)+1,1),u=a[0],f=n.count();u!==0&&l>1&&f/l>2&&(u=Math.round(Math.ceil(u/l)*l));var h=Ay(r),c=o.get("showMinLabel")||h,v=o.get("showMaxLabel")||h;c&&u!==a[0]&&g(a[0]);for(var d=u;d<=a[1];d+=l)g(d);v&&d-l!==a[1]&&g(a[1]);function g(p){var y={value:p};s.push(e?p:{formattedLabel:i(y),rawLabel:n.getLabel(y),tickValue:p})}return s}function Oy(r,t,e){var i=r.scale,n=Wi(r),a=[];return A(i.getTicks(),function(o){var s=i.getLabel(o),l=o.value;t(o.value,s)&&a.push(e?l:{formattedLabel:n(o),rawLabel:s,tickValue:l})}),a}var Rc=[0,1],nC=(function(){function r(t,e,i){this.onBand=!1,this.inverse=!1,this.dim=t,this.scale=e,this._extent=i||[0,0]}return r.prototype.contain=function(t){var e=this._extent,i=Math.min(e[0],e[1]),n=Math.max(e[0],e[1]);return t>=i&&t<=n},r.prototype.containData=function(t){return this.scale.contain(t)},r.prototype.getExtent=function(){return this._extent.slice()},r.prototype.getPixelPrecision=function(t){return j0(t||this.scale.getExtent(),this._extent)},r.prototype.setExtent=function(t,e){var i=this._extent;i[0]=t,i[1]=e},r.prototype.dataToCoord=function(t,e){var i=this._extent,n=this.scale;return t=n.normalize(t),this.onBand&&n.type==="ordinal"&&(i=i.slice(),Ec(i,n.count())),tu(t,Rc,i,e)},r.prototype.coordToData=function(t,e){var i=this._extent,n=this.scale;this.onBand&&n.type==="ordinal"&&(i=i.slice(),Ec(i,n.count()));var a=tu(t,i,Rc,e);return this.scale.scale(a)},r.prototype.pointToData=function(t,e){},r.prototype.getTicksCoords=function(t){t=t||{};var e=t.tickModel||this.getTickModel(),i=QT(this,e),n=i.ticks,a=U(n,function(s){return{coord:this.dataToCoord(this.scale.type==="ordinal"?this.scale.getRawOrdinalNumber(s):s),tickValue:s}},this),o=e.get("alignWithLabel");return aC(this,a,o,t.clamp),a},r.prototype.getMinorTicksCoords=function(){if(this.scale.type==="ordinal")return[];var t=this.model.getModel("minorTick"),e=t.get("splitNumber");e>0&&e<100||(e=5);var i=this.scale.getMinorTicks(e),n=U(i,function(a){return U(a,function(o){return{coord:this.dataToCoord(o),tickValue:o}},this)},this);return n},r.prototype.getViewLabels=function(){return KT(this).labels},r.prototype.getLabelModel=function(){return this.model.getModel("axisLabel")},r.prototype.getTickModel=function(){return this.model.getModel("axisTick")},r.prototype.getBandWidth=function(){var t=this._extent,e=this.scale.getExtent(),i=e[1]-e[0]+(this.onBand?1:0);i===0&&(i=1);var n=Math.abs(t[1]-t[0]);return Math.abs(n)/i},r.prototype.calculateCategoryInterval=function(){return rC(this)},r})();function Ec(r,t){var e=r[1]-r[0],i=t,n=e/i/2;r[0]+=n,r[1]-=n}function aC(r,t,e,i){var n=t.length;if(!r.onBand||e||!n)return;var a=r.getExtent(),o,s;if(n===1)t[0].coord=a[0],o=t[1]={coord:a[1],tickValue:t[0].tickValue};else{var l=t[n-1].tickValue-t[0].tickValue,u=(t[n-1].coord-t[0].coord)/l;A(t,function(v){v.coord-=u/2});var f=r.scale.getExtent();s=1+f[1]-t[n-1].tickValue,o={coord:t[n-1].coord+u*s,tickValue:f[1]+1},t.push(o)}var h=a[0]>a[1];c(t[0].coord,a[0])&&(i?t[0].coord=a[0]:t.shift()),i&&c(a[0],t[0].coord)&&t.unshift({coord:a[0]}),c(a[1],o.coord)&&(i?o.coord=a[1]:t.pop()),i&&c(o.coord,a[1])&&t.push({coord:a[1]});function c(v,d){return v=wt(v),d=wt(d),h?v>d:v0){t=t/180*Math.PI,fr.fromArray(r[0]),pt.fromArray(r[1]),Dt.fromArray(r[2]),Z.sub(hr,fr,pt),Z.sub(Ie,Dt,pt);var e=hr.len(),i=Ie.len();if(!(e<.001||i<.001)){hr.scale(1/e),Ie.scale(1/i);var n=hr.dot(Ie),a=Math.cos(t);if(a1&&Z.copy(Ot,Dt),Ot.toArray(r[1])}}}}function sC(r,t,e){if(e<=180&&e>0){e=e/180*Math.PI,fr.fromArray(r[0]),pt.fromArray(r[1]),Dt.fromArray(r[2]),Z.sub(hr,pt,fr),Z.sub(Ie,Dt,pt);var i=hr.len(),n=Ie.len();if(!(i<.001||n<.001)){hr.scale(1/i),Ie.scale(1/n);var a=hr.dot(t),o=Math.cos(e);if(a=l)Z.copy(Ot,Dt);else{Ot.scaleAndAdd(Ie,s/Math.tan(Math.PI/2-f));var h=Dt.x!==pt.x?(Ot.x-pt.x)/(Dt.x-pt.x):(Ot.y-pt.y)/(Dt.y-pt.y);if(isNaN(h))return;h<0?Z.copy(Ot,pt):h>1&&Z.copy(Ot,Dt)}Ot.toArray(r[1])}}}}function wl(r,t,e,i){var n=e==="normal",a=n?r:r.ensureState(e);a.ignore=t;var o=i.get("smooth");o&&o===!0&&(o=.3),a.shape=a.shape||{},o>0&&(a.shape.smooth=o);var s=i.getModel("lineStyle").getLineStyle();n?r.useStyle(s):a.style=s}function lC(r,t){var e=t.smooth,i=t.points;if(i)if(r.moveTo(i[0][0],i[0][1]),e>0&&i.length>=3){var n=zl(i[0],i[1]),a=zl(i[1],i[2]);if(!n||!a){r.lineTo(i[1][0],i[1][1]),r.lineTo(i[2][0],i[2][1]);return}var o=Math.min(n,a)*e,s=ps([],i[1],i[0],o/n),l=ps([],i[1],i[2],o/a),u=ps([],s,l,.5);r.bezierCurveTo(s[0],s[1],s[0],s[1],u[0],u[1]),r.bezierCurveTo(l[0],l[1],l[0],l[1],i[2][0],i[2][1])}else for(var f=1;f0){_(C*T,0,o);var M=C+w;M<0&&S(-M*T,1)}else S(-w*T,1)}}function _(w,x,T){w!==0&&(u=!0);for(var C=x;C0)for(var M=0;M0;M--){var P=T[M-1]*I;_(-P,M,o)}}}function b(w){var x=w<0?-1:1;w=Math.abs(w);for(var T=Math.ceil(w/(o-1)),C=0;C0?_(T,0,C+1):_(-T,o-C-1,o),w-=T,w<=0)return}return u}function cC(r,t,e,i){return vC(r,"y","height",t,e)}function dC(r){var t=[];r.sort(function(g,p){return p.priority-g.priority});var e=new at(0,0,0,0);function i(g){if(!g.ignore){var p=g.ensureState("emphasis");p.ignore==null&&(p.ignore=!1)}g.ignore=!0}for(var n=0;n-1&&(u.style.stroke=u.style.fill,u.style.fill="#fff",u.style.lineWidth=2),i},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:4,symbolRotate:null,showSymbol:!0,showAllSymbol:"auto",connectNulls:!1,sampling:"none",animationEasing:"linear",progressive:0,hoverLayerThreshold:1/0,universalTransition:{divideShape:"clone"},triggerLineEvent:!1},t})(we);function Uf(r,t){var e=r.mapDimensionsAll("defaultedLabel"),i=e.length;if(i===1){var n=Oi(r,t,e[0]);return n!=null?n+"":null}else if(i){for(var a=[],o=0;o=0&&i.push(t[a])}return i.join(" ")}var Yf=(function(r){N(t,r);function t(e,i,n,a){var o=r.call(this)||this;return o.updateData(e,i,n,a),o}return t.prototype._createSymbol=function(e,i,n,a,o){this.removeAll();var s=Bi(e,-1,-1,2,2,null,o);s.attr({z2:100,culling:!0,scaleX:a[0]/2,scaleY:a[1]/2}),s.drift=gC,this._symbolType=e,this.add(s)},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(){So(this.childAt(0))},t.prototype.downplay=function(){wo(this.childAt(0))},t.prototype.setZ=function(e,i){var n=this.childAt(0);n.zlevel=e,n.z=i},t.prototype.setDraggable=function(e,i){var n=this.childAt(0);n.draggable=e,n.cursor=!i&&e?"move":n.cursor},t.prototype.updateData=function(e,i,n,a){this.silent=!1;var o=e.getItemVisual(i,"symbol")||"circle",s=e.hostModel,l=t.getSymbolSize(e,i),u=o!==this._symbolType,f=a&&a.disableAnimation;if(u){var h=e.getItemVisual(i,"symbolKeepAspect");this._createSymbol(o,e,i,l,h)}else{var c=this.childAt(0);c.silent=!1;var v={scaleX:l[0]/2,scaleY:l[1]/2};f?c.attr(v):Ft(c,v,s,i),df(c)}if(this._updateCommon(e,i,l,n,a),u){var c=this.childAt(0);if(!f){var v={scaleX:this._sizeX,scaleY:this._sizeY,style:{opacity:c.style.opacity}};c.scaleX=c.scaleY=0,c.style.opacity=0,he(c,v,s,i)}}f&&this.childAt(0).stopAnimation("leave")},t.prototype._updateCommon=function(e,i,n,a,o){var s=this.childAt(0),l=e.hostModel,u,f,h,c,v,d,g,p,y;if(a&&(u=a.emphasisItemStyle,f=a.blurItemStyle,h=a.selectItemStyle,c=a.focus,v=a.blurScope,g=a.labelStatesModels,p=a.hoverScale,y=a.cursorStyle,d=a.emphasisDisabled),!a||e.hasItemOption){var m=a&&a.itemModel?a.itemModel:e.getItemModel(i),_=m.getModel("emphasis");u=_.getModel("itemStyle").getItemStyle(),h=m.getModel(["select","itemStyle"]).getItemStyle(),f=m.getModel(["blur","itemStyle"]).getItemStyle(),c=_.get("focus"),v=_.get("blurScope"),d=_.get("disabled"),g=aa(m),p=_.getShallow("scale"),y=m.getShallow("cursor")}var S=e.getItemVisual(i,"symbolRotate");s.attr("rotation",(S||0)*Math.PI/180||0);var b=Hg(e.getItemVisual(i,"symbolOffset"),n);b&&(s.x=b[0],s.y=b[1]),y&&s.attr("cursor",y);var w=e.getItemVisual(i,"style"),x=w.fill;if(s instanceof Sr){var T=s.style;s.useStyle(B({image:T.image,x:T.x,y:T.y,width:T.width,height:T.height},w))}else s.__isEmptyBrush?s.useStyle(B({},w)):s.useStyle(w),s.style.decal=null,s.setColor(x,o&&o.symbolInnerColor),s.style.strokeNoScale=!0;var C=e.getItemVisual(i,"liftZ"),M=this._z2;C!=null?M==null&&(this._z2=s.z2,s.z2+=C):M!=null&&(s.z2=M,this._z2=null);var D=o&&o.useNameLabel;na(s,g,{labelFetcher:l,labelDataIndex:i,defaultText:L,inheritColor:x,defaultOpacity:w.opacity});function L(R){return D?e.getName(R):Uf(e,R)}this._sizeX=n[0]/2,this._sizeY=n[1]/2;var I=s.ensureState("emphasis");I.style=u,s.ensureState("select").style=h,s.ensureState("blur").style=f;var P=p==null||p===!0?Math.max(1.1,3/this._sizeY):isFinite(p)&&p>0?+p:1;I.scaleX=this._sizeX*P,I.scaleY=this._sizeY*P,this.setSymbolScale(1),Hn(this,c,v,d)},t.prototype.setSymbolScale=function(e){this.scaleX=this.scaleY=e},t.prototype.fadeOut=function(e,i,n){var a=this.childAt(0),o=it(this).dataIndex,s=n&&n.animation;if(this.silent=a.silent=!0,n&&n.fadeLabel){var l=a.getTextContent();l&&To(l,{style:{opacity:0}},i,{dataIndex:o,removeOpt:s,cb:function(){a.removeTextContent()}})}else a.removeTextContent();To(a,{style:{opacity:0},scaleX:0,scaleY:0},i,{dataIndex:o,cb:e,removeOpt:s})},t.getSymbolSize=function(e,i){return rx(e.getItemVisual(i,"symbolSize"))},t})(Lt);function gC(r,t){this.parent.drift(r,t)}function bl(r,t,e,i){return t&&!isNaN(t[0])&&!isNaN(t[1])&&!(i.isIgnore&&i.isIgnore(e))&&!(i.clipShape&&!i.clipShape.contain(t[0],t[1]))&&r.getItemVisual(e,"symbol")!=="none"}function kc(r){return r!=null&&!Y(r)&&(r={isIgnore:r}),r||{}}function Oc(r){var t=r.hostModel,e=t.getModel("emphasis");return{emphasisItemStyle:e.getModel("itemStyle").getItemStyle(),blurItemStyle:t.getModel(["blur","itemStyle"]).getItemStyle(),selectItemStyle:t.getModel(["select","itemStyle"]).getItemStyle(),focus:e.get("focus"),blurScope:e.get("blurScope"),emphasisDisabled:e.get("disabled"),hoverScale:e.get("scale"),labelStatesModels:aa(t),cursorStyle:t.get("cursor")}}var yC=(function(){function r(t){this.group=new Lt,this._SymbolCtor=t||Yf}return r.prototype.updateData=function(t,e){this._progressiveEls=null,e=kc(e);var i=this.group,n=t.hostModel,a=this._data,o=this._SymbolCtor,s=e.disableAnimation,l=Oc(t),u={disableAnimation:s},f=e.getSymbolPoint||function(h){return t.getItemLayout(h)};a||i.removeAll(),t.diff(a).add(function(h){var c=f(h);if(bl(t,c,h,e)){var v=new o(t,h,l,u);v.setPosition(c),t.setItemGraphicEl(h,v),i.add(v)}}).update(function(h,c){var v=a.getItemGraphicEl(c),d=f(h);if(!bl(t,d,h,e)){i.remove(v);return}var g=t.getItemVisual(h,"symbol")||"circle",p=v&&v.getSymbolType&&v.getSymbolType();if(!v||p&&p!==g)i.remove(v),v=new o(t,h,l,u),v.setPosition(d);else{v.updateData(t,h,l,u);var y={x:d[0],y:d[1]};s?v.attr(y):Ft(v,y,n)}i.add(v),t.setItemGraphicEl(h,v)}).remove(function(h){var c=a.getItemGraphicEl(h);c&&c.fadeOut(function(){i.remove(c)},n)}).execute(),this._getSymbolPoint=f,this._data=t},r.prototype.updateLayout=function(){var t=this,e=this._data;e&&e.eachItemGraphicEl(function(i,n){var a=t._getSymbolPoint(n);i.setPosition(a),i.markRedraw()})},r.prototype.incrementalPrepareUpdate=function(t){this._seriesScope=Oc(t),this._data=null,this.group.removeAll()},r.prototype.incrementalUpdate=function(t,e,i){this._progressiveEls=[],i=kc(i);function n(l){l.isGroup||(l.incremental=!0,l.ensureState("emphasis").hoverLayer=!0)}for(var a=t.start;a0?e=i[0]:i[1]<0&&(e=i[1]),e}function zy(r,t,e,i){var n=NaN;r.stacked&&(n=e.get(e.getCalculationInfo("stackedOverDimension"),i)),isNaN(n)&&(n=r.valueStart);var a=r.baseDataOffset,o=[];return o[a]=e.get(r.baseDim,i),o[1-a]=n,t.dataToPoint(o)}function _C(r,t){var e=[];return t.diff(r).add(function(i){e.push({cmd:"+",idx:i})}).update(function(i,n){e.push({cmd:"=",idx:n,idx1:i})}).remove(function(i){e.push({cmd:"-",idx:i})}).execute(),e}function SC(r,t,e,i,n,a,o,s){for(var l=_C(r,t),u=[],f=[],h=[],c=[],v=[],d=[],g=[],p=Fy(n,t,o),y=r.getLayout("points")||[],m=t.getLayout("points")||[],_=0;_=n||g<0)break;if(Kr(y,m)){if(l){g+=a;continue}break}if(g===e)r[a>0?"moveTo":"lineTo"](y,m),h=y,c=m;else{var _=y-u,S=m-f;if(_*_+S*S<.5){g+=a;continue}if(o>0){for(var b=g+a,w=t[b*2],x=t[b*2+1];w===y&&x===m&&p=i||Kr(w,x))v=y,d=m;else{M=w-u,D=x-f;var P=y-u,R=w-y,E=m-f,G=x-m,k=void 0,O=void 0;if(s==="x"){k=Math.abs(P),O=Math.abs(R);var F=M>0?1:-1;v=y-F*k*o,d=m,L=y+F*O*o,I=m}else if(s==="y"){k=Math.abs(E),O=Math.abs(G);var H=D>0?1:-1;v=y,d=m-H*k*o,L=y,I=m+H*O*o}else k=Math.sqrt(P*P+E*E),O=Math.sqrt(R*R+G*G),C=O/(O+k),v=y-M*o*(1-C),d=m-D*o*(1-C),L=y+M*o*C,I=m+D*o*C,L=nr(L,ar(w,y)),I=nr(I,ar(x,m)),L=ar(L,nr(w,y)),I=ar(I,nr(x,m)),M=L-y,D=I-m,v=y-M*k/O,d=m-D*k/O,v=nr(v,ar(u,y)),d=nr(d,ar(f,m)),v=ar(v,nr(u,y)),d=ar(d,nr(f,m)),M=y-v,D=m-d,L=y+M*O/k,I=m+D*O/k}r.bezierCurveTo(h,c,v,d,y,m),h=L,c=I}else r.lineTo(y,m)}u=y,f=m,g+=a}return p}var Gy=(function(){function r(){this.smooth=0,this.smoothConstraint=!0}return r})(),wC=(function(r){N(t,r);function t(e){var i=r.call(this,e)||this;return i.type="ec-polyline",i}return t.prototype.getDefaultStyle=function(){return{stroke:"#000",fill:null}},t.prototype.getDefaultShape=function(){return new Gy},t.prototype.buildPath=function(e,i){var n=i.points,a=0,o=n.length/2;if(i.connectNulls){for(;o>0&&Kr(n[o*2-2],n[o*2-1]);o--);for(;a=0){var S=u?(d-l)*_+l:(v-s)*_+s;return u?[e,S]:[S,e]}s=v,l=d;break;case o.C:v=a[h++],d=a[h++],g=a[h++],p=a[h++],y=a[h++],m=a[h++];var b=u?uo(s,v,g,y,e,f):uo(l,d,p,m,e,f);if(b>0)for(var w=0;w=0){var S=u?At(l,d,p,m,x):At(s,v,g,y,x);return u?[e,S]:[S,e]}}s=y,l=m;break}}},t})(st),bC=(function(r){N(t,r);function t(){return r!==null&&r.apply(this,arguments)||this}return t})(Gy),xC=(function(r){N(t,r);function t(e){var i=r.call(this,e)||this;return i.type="ec-polygon",i}return t.prototype.getDefaultShape=function(){return new bC},t.prototype.buildPath=function(e,i){var n=i.points,a=i.stackedOnPoints,o=0,s=n.length/2,l=i.smoothMonotone;if(i.connectNulls){for(;s>0&&Kr(n[s*2-2],n[s*2-1]);s--);for(;ot){a?e.push(o(a,l,t)):n&&e.push(o(n,l,0),o(n,l,t));break}else n&&(e.push(o(n,l,0)),n=null),e.push(l),a=l}return e}function MC(r,t,e){var i=r.getVisual("visualMeta");if(!(!i||!i.length||!r.count())&&t.type==="cartesian2d"){for(var n,a,o=i.length-1;o>=0;o--){var s=r.getDimensionInfo(i[o].dimension);if(n=s&&s.coordDim,n==="x"||n==="y"){a=i[o];break}}if(a){var l=t.getAxis(n),u=U(a.stops,function(_){return{coord:l.toGlobalCoord(l.dataToCoord(_.value)),color:_.color}}),f=u.length,h=a.outerColors.slice();f&&u[0].coord>u[f-1].coord&&(u.reverse(),h.reverse());var c=DC(u,n==="x"?e.getWidth():e.getHeight()),v=c.length;if(!v&&f)return u[0].coord<0?h[1]?h[1]:u[f-1].color:h[0]?h[0]:u[0].color;var d=10,g=c[0].coord-d,p=c[v-1].coord+d,y=p-g;if(y<.001)return"transparent";A(c,function(_){_.offset=(_.coord-g)/y}),c.push({offset:v?c[v-1].offset:.5,color:h[1]||"transparent"}),c.unshift({offset:v?c[0].offset:.5,color:h[0]||"transparent"});var m=new zp(0,0,0,0,c,!0);return m[n]=g,m[n+"2"]=p,m}}}function AC(r,t,e){var i=r.get("showAllSymbol"),n=i==="auto";if(!(i&&!n)){var a=e.getAxesByScale("ordinal")[0];if(a&&!(n&&LC(a,t))){var o=t.mapDimension(a.dim),s={};return A(a.getViewLabels(),function(l){var u=a.scale.getRawOrdinalNumber(l.tickValue);s[u]=1}),function(l){return!s.hasOwnProperty(t.get(o,l))}}}}function LC(r,t){var e=r.getExtent(),i=Math.abs(e[1]-e[0])/r.scale.count();isNaN(i)&&(i=0);for(var n=t.count(),a=Math.max(1,Math.round(n/5)),o=0;oi)return!1;return!0}function IC(r,t){return isNaN(r)||isNaN(t)}function PC(r){for(var t=r.length/2;t>0&&IC(r[t*2-2],r[t*2-1]);t--);return t-1}function Gc(r,t){return[r[t*2],r[t*2+1]]}function RC(r,t,e){for(var i=r.length/2,n=e==="x"?0:1,a,o,s=0,l=-1,u=0;u=t||a>=t&&o<=t){l=u;break}s=u,a=o}return{range:[s,l],t:(t-a)/(o-a)}}function Wy(r){if(r.get(["endLabel","show"]))return!0;for(var t=0;t0&&e.get(["emphasis","lineStyle","width"])==="bolder"){var O=d.getState("emphasis").style;O.lineWidth=+d.style.lineWidth+1}it(d).seriesIndex=e.seriesIndex,Hn(d,E,G,k);var F=zc(e.get("smooth")),H=e.get("smoothMonotone");if(d.setShape({smooth:F,smoothMonotone:H,connectNulls:x}),g){var W=s.getCalculationInfo("stackedOnSeries"),j=0;g.useStyle(ot(u.getAreaStyle(),{fill:L,opacity:.7,lineJoin:"bevel",decal:s.getVisual("style").decal})),W&&(j=zc(W.get("smooth"))),g.setShape({smooth:F,stackedOnSmooth:j,smoothMonotone:H,connectNulls:x}),bo(g,e,"areaStyle"),it(g).seriesIndex=e.seriesIndex,Hn(g,E,G,k)}var et=this._changePolyState;s.eachItemGraphicEl(function(ft){ft&&(ft.onHoverStateChange=et)}),this._polyline.onHoverStateChange=et,this._data=s,this._coordSys=a,this._stackedOnPoints=b,this._points=f,this._step=M,this._valueOrigin=_,e.get("triggerLineEvent")&&(this.packEventData(e,d),g&&this.packEventData(e,g))},t.prototype.packEventData=function(e,i){it(i).eventData={componentType:"series",componentSubType:"line",componentIndex:e.componentIndex,seriesIndex:e.seriesIndex,seriesName:e.name,seriesType:"line"}},t.prototype.highlight=function(e,i,n,a){var o=e.getData(),s=jr(o,a);if(this._changePolyState("emphasis"),!(s instanceof Array)&&s!=null&&s>=0){var l=o.getLayout("points"),u=o.getItemGraphicEl(s);if(!u){var f=l[s*2],h=l[s*2+1];if(isNaN(f)||isNaN(h)||this._clipShapeForSymbol&&!this._clipShapeForSymbol.contain(f,h))return;var c=e.get("zlevel")||0,v=e.get("z")||0;u=new Yf(o,s),u.x=f,u.y=h,u.setZ(c,v);var d=u.getSymbolPath().getTextContent();d&&(d.zlevel=c,d.z=v,d.z2=this._polyline.z2+1),u.__temp=!0,o.setItemGraphicEl(s,u),u.stopSymbolAnimation(!0),this.group.add(u)}u.highlight()}else ve.prototype.highlight.call(this,e,i,n,a)},t.prototype.downplay=function(e,i,n,a){var o=e.getData(),s=jr(o,a);if(this._changePolyState("normal"),s!=null&&s>=0){var l=o.getItemGraphicEl(s);l&&(l.__temp?(o.setItemGraphicEl(s,null),this.group.remove(l)):l.downplay())}else ve.prototype.downplay.call(this,e,i,n,a)},t.prototype._changePolyState=function(e){var i=this._polygon;Qh(this._polyline,e),i&&Qh(i,e)},t.prototype._newPolyline=function(e){var i=this._polyline;return i&&this._lineGroup.remove(i),i=new wC({shape:{points:e},segmentIgnoreThreshold:2,z2:10}),this._lineGroup.add(i),this._polyline=i,i},t.prototype._newPolygon=function(e,i){var n=this._polygon;return n&&this._lineGroup.remove(n),n=new xC({shape:{points:e,stackedOnPoints:i},segmentIgnoreThreshold:2}),this._lineGroup.add(n),this._polygon=n,n},t.prototype._initSymbolLabelAnimation=function(e,i,n){var a,o,s=i.getBaseAxis(),l=s.inverse;i.type==="cartesian2d"?(a=s.isHorizontal(),o=!1):i.type==="polar"&&(a=s.dim==="angle",o=!0);var u=e.hostModel,f=u.get("animationDuration");q(f)&&(f=f(null));var h=u.get("animationDelay")||0,c=q(h)?h(null):h;e.eachItemGraphicEl(function(v,d){var g=v;if(g){var p=[v.x,v.y],y=void 0,m=void 0,_=void 0;if(n)if(o){var S=n,b=i.pointToCoord(p);a?(y=S.startAngle,m=S.endAngle,_=-b[1]/180*Math.PI):(y=S.r0,m=S.r,_=b[0])}else{var w=n;a?(y=w.x,m=w.x+w.width,_=v.x):(y=w.y+w.height,m=w.y,_=v.y)}var x=m===y?0:(_-y)/(m-y);l&&(x=1-x);var T=q(h)?h(d):f*x+c,C=g.getSymbolPath(),M=C.getTextContent();g.attr({scaleX:0,scaleY:0}),g.animateTo({scaleX:1,scaleY:1},{duration:200,setToFinal:!0,delay:T}),M&&M.animateFrom({style:{opacity:0}},{duration:300,delay:T}),C.disableLabelAnimation=!0}})},t.prototype._initOrUpdateEndLabel=function(e,i,n){var a=e.getModel("endLabel");if(Wy(e)){var o=e.getData(),s=this._polyline,l=o.getLayout("points");if(!l){s.removeTextContent(),this._endLabel=null;return}var u=this._endLabel;u||(u=this._endLabel=new Nt({z2:200}),u.ignoreClip=!0,s.setTextContent(this._endLabel),s.disableLabelAnimation=!0);var f=PC(l);f>=0&&(na(s,aa(e,"endLabel"),{inheritColor:n,labelFetcher:e,labelDataIndex:f,defaultText:function(h,c,v){return v!=null?Ny(o,v):Uf(o,h)},enableTextSetter:!0},EC(a,i)),s.textConfig.position=null)}else this._endLabel&&(this._polyline.removeTextContent(),this._endLabel=null)},t.prototype._endLabelOnDuring=function(e,i,n,a,o,s,l){var u=this._endLabel,f=this._polyline;if(u){e<1&&a.originalX==null&&(a.originalX=u.x,a.originalY=u.y);var h=n.getLayout("points"),c=n.hostModel,v=c.get("connectNulls"),d=s.get("precision"),g=s.get("distance")||0,p=l.getBaseAxis(),y=p.isHorizontal(),m=p.inverse,_=i.shape,S=m?y?_.x:_.y+_.height:y?_.x+_.width:_.y,b=(y?g:0)*(m?-1:1),w=(y?0:-g)*(m?-1:1),x=y?"x":"y",T=RC(h,S,x),C=T.range,M=C[1]-C[0],D=void 0;if(M>=1){if(M>1&&!v){var L=Gc(h,C[0]);u.attr({x:L[0]+b,y:L[1]+w}),o&&(D=c.getRawValue(C[0]))}else{var L=f.getPointOn(S,x);L&&u.attr({x:L[0]+b,y:L[1]+w});var I=c.getRawValue(C[0]),P=c.getRawValue(C[1]);o&&(D=__(n,d,I,P,T.t))}a.lastFrameIndex=C[0]}else{var R=e===1||a.lastFrameIndex>0?C[0]:0,L=Gc(h,R);o&&(D=c.getRawValue(R)),u.attr({x:L[0]+b,y:L[1]+w})}if(o){var E=Jo(u);typeof E.setLabelText=="function"&&E.setLabelText(D)}}},t.prototype._doUpdateAnimation=function(e,i,n,a,o,s,l){var u=this._polyline,f=this._polygon,h=e.hostModel,c=SC(this._data,e,this._stackedOnPoints,i,this._coordSys,n,this._valueOrigin),v=c.current,d=c.stackedOnCurrent,g=c.next,p=c.stackedOnNext;if(o&&(d=or(c.stackedOnCurrent,c.current,n,o,l),v=or(c.current,null,n,o,l),p=or(c.stackedOnNext,c.next,n,o,l),g=or(c.next,null,n,o,l)),Fc(v,g)>3e3||f&&Fc(d,p)>3e3){u.stopAnimation(),u.setShape({points:g}),f&&(f.stopAnimation(),f.setShape({points:g,stackedOnPoints:p}));return}u.shape.__points=c.current,u.shape.points=v;var y={shape:{points:g}};c.current!==v&&(y.shape.__points=c.next),u.stopAnimation(),Ft(u,y,h),f&&(f.setShape({points:v,stackedOnPoints:d}),f.stopAnimation(),Ft(f,{shape:{stackedOnPoints:p}},h),u.shape.points!==f.shape.points&&(f.shape.points=u.shape.points));for(var m=[],_=c.status,S=0;S<_.length;S++){var b=_[S].cmd;if(b==="="){var w=e.getItemGraphicEl(_[S].idx1);w&&m.push({el:w,ptIdx:S})}}u.animators&&u.animators.length&&u.animators[0].during(function(){f&&f.dirtyShape();for(var x=u.shape.__points,T=0;Tt&&(t=r[e]);return isFinite(t)?t:NaN},min:function(r){for(var t=1/0,e=0;e10&&o.type==="cartesian2d"&&a){var l=o.getBaseAxis(),u=o.getOtherAxis(l),f=l.getExtent(),h=i.getDevicePixelRatio(),c=Math.abs(f[1]-f[0])*(h||1),v=Math.round(s/c);if(isFinite(v)&&v>1){a==="lttb"?t.setData(n.lttbDownSample(n.mapDimension(u.dim),1/v)):a==="minmax"&&t.setData(n.minmaxDownSample(n.mapDimension(u.dim),1/v));var d=void 0;V(a)?d=BC[a]:q(a)&&(d=a),d&&t.setData(n.downSample(n.mapDimension(u.dim),1/v,d,NC))}}}}}function YM(r){r.registerChartView(kC),r.registerSeriesModel(pC),r.registerLayout(OC("line")),r.registerVisual({seriesType:"line",reset:function(t){var e=t.getData(),i=t.getModel("lineStyle").getLineStyle();i&&!i.stroke&&(i.stroke=e.getVisual("style").fill),e.setVisual("legendLineStyle",i)}}),r.registerProcessor(r.PRIORITY.PROCESSOR.STATISTIC,Uy("line"))}var Iu=(function(r){N(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e}return t.prototype.getInitialData=function(e,i){return Ff(null,this,{useEncodeDefaulter:!0})},t.prototype.getMarkerPosition=function(e,i,n){var a=this.coordinateSystem;if(a&&a.clampData){var o=a.clampData(e),s=a.dataToPoint(o);if(n)A(a.getAxes(),function(c,v){if(c.type==="category"&&i!=null){var d=c.getTicksCoords(),g=c.getTickModel().get("alignWithLabel"),p=o[v],y=i[v]==="x1"||i[v]==="y1";if(y&&!g&&(p+=1),d.length<2)return;if(d.length===2){s[v]=c.toGlobalCoord(c.getExtent()[y?1:0]);return}for(var m=void 0,_=void 0,S=1,b=0;bp){_=(w+m)/2;break}b===1&&(S=x-d[0].tickValue)}_==null&&(m?m&&(_=d[d.length-1].coord):_=d[0].coord),s[v]=c.toGlobalCoord(_)}});else{var l=this.getData(),u=l.getLayout("offset"),f=l.getLayout("size"),h=a.getBaseAxis().isHorizontal()?0:1;s[h]+=u+f/2}return s}return[NaN,NaN]},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"},t})(we);we.registerClass(Iu);var FC=(function(r){N(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e}return t.prototype.getInitialData=function(){return Ff(null,this,{useEncodeDefaulter:!0,createInvertedIndices:!!this.get("realtimeSort",!0)||null})},t.prototype.getProgressive=function(){return this.get("large")?this.get("progressive"):!1},t.prototype.getProgressiveThreshold=function(){var e=this.get("progressiveThreshold"),i=this.get("largeThreshold");return i>e&&(e=i),e},t.prototype.brushSelector=function(e,i,n){return n.rect(i.getItemLayout(e))},t.type="series.bar",t.dependencies=["grid","polar"],t.defaultOption=$p(Iu.defaultOption,{clip:!0,roundCap:!1,showBackground:!1,backgroundStyle:{color:"rgba(180, 180, 180, 0.2)",borderColor:null,borderWidth:0,borderType:"solid",borderRadius:0,shadowBlur:0,shadowColor:null,shadowOffsetX:0,shadowOffsetY:0,opacity:1},select:{itemStyle:{borderColor:"#212121"}},realtimeSort:!1}),t})(Iu),zC=(function(){function r(){this.cx=0,this.cy=0,this.r0=0,this.r=0,this.startAngle=0,this.endAngle=Math.PI*2,this.clockwise=!0}return r})(),Hc=(function(r){N(t,r);function t(e){var i=r.call(this,e)||this;return i.type="sausage",i}return t.prototype.getDefaultShape=function(){return new zC},t.prototype.buildPath=function(e,i){var n=i.cx,a=i.cy,o=Math.max(i.r0||0,0),s=Math.max(i.r,0),l=(s-o)*.5,u=o+l,f=i.startAngle,h=i.endAngle,c=i.clockwise,v=Math.PI*2,d=c?h-fMath.PI/2&&fs)return!0;s=h}return!1},t.prototype._isOrderDifferentInView=function(e,i){for(var n=i.scale,a=n.getExtent(),o=Math.max(0,a[0]),s=Math.min(a[1],n.getOrdinalMeta().categories.length-1);o<=s;++o)if(e.ordinalNumbers[o]!==n.getRawOrdinalNumber(o))return!0},t.prototype._updateSortWithinSameData=function(e,i,n,a){if(this._isOrderChangedWithinSameData(e,i,n)){var o=this._dataSort(e,n,i);this._isOrderDifferentInView(o,n)&&(this._removeOnRenderedListener(a),a.dispatchAction({type:"changeAxisOrder",componentType:n.dim+"Axis",axisId:n.index,sortInfo:o}))}},t.prototype._dispatchInitSort=function(e,i,n){var a=i.baseAxis,o=this._dataSort(e,a,function(s){return e.get(e.mapDimension(i.otherAxis.dim),s)});n.dispatchAction({type:"changeAxisOrder",componentType:a.dim+"Axis",isInitSort:!0,axisId:a.index,sortInfo:o})},t.prototype.remove=function(e,i){this._clear(this._model),this._removeOnRenderedListener(i)},t.prototype.dispose=function(e,i){this._removeOnRenderedListener(i)},t.prototype._removeOnRenderedListener=function(e){this._onRendered&&(e.getZr().off("rendered",this._onRendered),this._onRendered=null)},t.prototype._clear=function(e){var i=this.group,n=this._data;e&&e.isAnimationEnabled()&&n&&!this._isLargeDraw?(this._removeBackground(),this._backgroundEls=[],n.eachItemGraphicEl(function(a){Co(a,e,it(a).dataIndex)})):i.removeAll(),this._data=null,this._isFirstFrame=!0},t.prototype._removeBackground=function(){this.group.remove(this._backgroundGroup),this._backgroundGroup=null},t.type="bar",t})(ve),Vc={cartesian2d:function(r,t){var e=t.width<0?-1:1,i=t.height<0?-1:1;e<0&&(t.x+=t.width,t.width=-t.width),i<0&&(t.y+=t.height,t.height=-t.height);var n=r.x+r.width,a=r.y+r.height,o=Tl(t.x,r.x),s=Cl(t.x+t.width,n),l=Tl(t.y,r.y),u=Cl(t.y+t.height,a),f=sn?s:o,t.y=h&&l>a?u:l,t.width=f?0:s-o,t.height=h?0:u-l,e<0&&(t.x+=t.width,t.width=-t.width),i<0&&(t.y+=t.height,t.height=-t.height),f||h},polar:function(r,t){var e=t.r0<=t.r?1:-1;if(e<0){var i=t.r;t.r=t.r0,t.r0=i}var n=Cl(t.r,r.r),a=Tl(t.r0,r.r0);t.r=n,t.r0=a;var o=n-a<0;if(e<0){var i=t.r;t.r=t.r0,t.r0=i}return o}},Wc={cartesian2d:function(r,t,e,i,n,a,o,s,l){var u=new bt({shape:B({},i),z2:1});if(u.__dataIndex=e,u.name="item",a){var f=u.shape,h=n?"height":"width";f[h]=0}return u},polar:function(r,t,e,i,n,a,o,s,l){var u=!n&&l?Hc:wr,f=new u({shape:i,z2:1});f.name="item";var h=Yy(n);if(f.calculateTextPosition=GC(h,{isRoundCap:u===Hc}),a){var c=f.shape,v=n?"r":"endAngle",d={};c[v]=n?i.r0:i.startAngle,d[v]=i[v],(s?Ft:he)(f,{shape:d},a)}return f}};function UC(r,t){var e=r.get("realtimeSort",!0),i=t.getBaseAxis();if(e&&i.type==="category"&&t.type==="cartesian2d")return{baseAxis:i,otherAxis:t.getOtherAxis(i)}}function Uc(r,t,e,i,n,a,o,s){var l,u;a?(u={x:i.x,width:i.width},l={y:i.y,height:i.height}):(u={y:i.y,height:i.height},l={x:i.x,width:i.width}),s||(o?Ft:he)(e,{shape:l},t,n,null);var f=t?r.baseAxis.model:null;(o?Ft:he)(e,{shape:u},f,n)}function Yc(r,t){for(var e=0;e0?1:-1,o=i.height>0?1:-1;return{x:i.x+a*n/2,y:i.y+o*n/2,width:i.width-a*n,height:i.height-o*n}},polar:function(r,t,e){var i=r.getItemLayout(t);return{cx:i.cx,cy:i.cy,r0:i.r0,r:i.r,startAngle:i.startAngle,endAngle:i.endAngle,clockwise:i.clockwise}}};function $C(r){return r.startAngle!=null&&r.endAngle!=null&&r.startAngle===r.endAngle}function Yy(r){return(function(t){var e=t?"Arc":"Angle";return function(i){switch(i){case"start":case"insideStart":case"end":case"insideEnd":return i+e;default:return i}}})(r)}function $c(r,t,e,i,n,a,o,s){var l=t.getItemVisual(e,"style");if(s){if(!a.get("roundCap")){var f=r.shape,h=Sn(i.getModel("itemStyle"),f,!0);B(f,h),r.setShape(f)}}else{var u=i.get(["itemStyle","borderRadius"])||0;r.setShape("r",u)}r.useStyle(l);var c=i.getShallow("cursor");c&&r.attr("cursor",c);var v=s?o?n.r>=n.r0?"endArc":"startArc":n.endAngle>=n.startAngle?"endAngle":"startAngle":o?n.height>=0?"bottom":"top":n.width>=0?"right":"left",d=aa(i);na(r,d,{labelFetcher:a,labelDataIndex:e,defaultText:Uf(a.getData(),e),inheritColor:l.fill,defaultOpacity:l.opacity,defaultOutsidePosition:v});var g=r.getTextContent();if(s&&g){var p=i.get(["label","position"]);r.textConfig.inside=p==="middle"?!0:null,HC(r,p==="outside"?v:p,Yy(o),i.get(["label","rotate"]))}ES(g,d,a.getRawValue(e),function(m){return Ny(t,m)});var y=i.getModel(["emphasis"]);Hn(r,y.get("focus"),y.get("blurScope"),y.get("disabled")),bo(r,i),$C(n)&&(r.style.fill="none",r.style.stroke="none",A(r.states,function(m){m.style&&(m.style.fill=m.style.stroke="none")}))}function ZC(r,t){var e=r.get(["itemStyle","borderColor"]);if(!e||e==="none")return 0;var i=r.get(["itemStyle","borderWidth"])||0,n=isNaN(t.width)?Number.MAX_VALUE:Math.abs(t.width),a=isNaN(t.height)?Number.MAX_VALUE:Math.abs(t.height);return Math.min(i,n,a)}var qC=(function(){function r(){}return r})(),Zc=(function(r){N(t,r);function t(e){var i=r.call(this,e)||this;return i.type="largeBar",i}return t.prototype.getDefaultShape=function(){return new qC},t.prototype.buildPath=function(e,i){for(var n=i.points,a=this.baseDimIdx,o=1-this.baseDimIdx,s=[],l=[],u=this.barWidth,f=0;f=0?e:null},30,!1);function KC(r,t,e){for(var i=r.baseDimIdx,n=1-i,a=r.shape.points,o=r.largeDataIndices,s=[],l=[],u=r.barWidth,f=0,h=a.length/3;f=s[0]&&t<=s[0]+l[0]&&e>=s[1]&&e<=s[1]+l[1])return o[f]}return-1}function Xy(r,t,e){if(Xf(e,"cartesian2d")){var i=t,n=e.getArea();return{x:r?i.x:n.x,y:r?n.y:i.y,width:r?i.width:n.width,height:r?n.height:i.height}}else{var n=e.getArea(),a=t;return{cx:n.cx,cy:n.cy,r0:r?n.r0:a.r0,r:r?n.r:a.r,startAngle:r?a.startAngle:0,endAngle:r?a.endAngle:Math.PI*2}}}function QC(r,t,e){var i=r.type==="polar"?wr:bt;return new i({shape:Xy(t,e,r),silent:!0,z2:0})}function XM(r){r.registerChartView(WC),r.registerSeriesModel(FC),r.registerLayout(r.PRIORITY.VISUAL.LAYOUT,_t(TT,"bar")),r.registerLayout(r.PRIORITY.VISUAL.PROGRESSIVE_LAYOUT,CT("bar")),r.registerProcessor(r.PRIORITY.PROCESSOR.STATISTIC,Uy("bar")),r.registerAction({type:"changeAxisOrder",event:"changeAxisOrder",update:"update"},function(t,e){var i=t.componentType||"series";e.eachComponent({mainType:i,query:t},function(n){t.sortInfo&&n.axis.setCategorySortInfo(t.sortInfo)})})}var Qc=Math.PI*2,Ua=Math.PI/180;function $y(r,t){return Un(r.getBoxLayoutParams(),{width:t.getWidth(),height:t.getHeight()})}function Zy(r,t){var e=$y(r,t),i=r.get("center"),n=r.get("radius");z(n)||(n=[0,n]);var a=ct(e.width,t.getWidth()),o=ct(e.height,t.getHeight()),s=Math.min(a,o),l=ct(n[0],s/2),u=ct(n[1],s/2),f,h,c=r.coordinateSystem;if(c){var v=c.dataToPoint(i);f=v[0]||0,h=v[1]||0}else z(i)||(i=[i,i]),f=ct(i[0],a)+e.x,h=ct(i[1],o)+e.y;return{cx:f,cy:h,r0:l,r:u}}function JC(r,t,e){t.eachSeriesByType(r,function(i){var n=i.getData(),a=n.mapDimension("value"),o=$y(i,e),s=Zy(i,e),l=s.cx,u=s.cy,f=s.r,h=s.r0,c=-i.get("startAngle")*Ua,v=i.get("endAngle"),d=i.get("padAngle")*Ua;v=v==="auto"?c-Qc:-v*Ua;var g=i.get("minAngle")*Ua,p=g+d,y=0;n.each(a,function(G){!isNaN(G)&&y++});var m=n.getSum(a),_=Math.PI/(m||y)*2,S=i.get("clockwise"),b=i.get("roseType"),w=i.get("stillShowZeroSum"),x=n.getDataExtent(a);x[0]=0;var T=S?1:-1,C=[c,v],M=T*d/2;mp(C,!S),c=C[0],v=C[1];var D=qy(i);D.startAngle=c,D.endAngle=v,D.clockwise=S;var L=Math.abs(v-c),I=L,P=0,R=c;if(n.setLayout({viewRect:o,r:f}),n.each(a,function(G,k){var O;if(isNaN(G)){n.setItemLayout(k,{angle:NaN,startAngle:NaN,endAngle:NaN,clockwise:S,cx:l,cy:u,r0:h,r:b?NaN:f});return}b!=="area"?O=m===0&&w?_:G*_:O=L/y,OO?(H=R+T*O/2,W=H):(H=R+M,W=F-M),n.setItemLayout(k,{angle:O,startAngle:H,endAngle:W,clockwise:S,cx:l,cy:u,r0:h,r:b?tu(G,x,[h,f]):f}),R=F}),Ie?y:p,b=Math.abs(_.label.y-e);if(b>=S.maxY){var w=_.label.x-t-_.len2*n,x=i+_.len,T=Math.abs(w)r.unconstrainedWidth?null:v:null;i.setStyle("width",d)}var g=i.getBoundingRect();a.width=g.width;var p=(i.style.margin||0)+2.1;a.height=g.height+p,a.y-=(a.height-h)/2}}}function Dl(r){return r.position==="center"}function rD(r){var t=r.getData(),e=[],i,n,a=!1,o=(r.get("minShowLabelAngle")||0)*tD,s=t.getLayout("viewRect"),l=t.getLayout("r"),u=s.width,f=s.x,h=s.y,c=s.height;function v(w){w.ignore=!0}function d(w){if(!w.ignore)return!0;for(var x in w.states)if(w.states[x].ignore===!1)return!0;return!1}t.each(function(w){var x=t.getItemGraphicEl(w),T=x.shape,C=x.getTextContent(),M=x.getTextGuideLine(),D=t.getItemModel(w),L=D.getModel("label"),I=L.get("position")||D.get(["emphasis","label","position"]),P=L.get("distanceToLabelLine"),R=L.get("alignTo"),E=ct(L.get("edgeDistance"),u),G=L.get("bleedMargin"),k=D.getModel("labelLine"),O=k.get("length");O=ct(O,u);var F=k.get("length2");if(F=ct(F,u),Math.abs(T.endAngle-T.startAngle)0?"right":"left":W>0?"left":"right"}var Qe=Math.PI,ze=0,Ui=L.get("rotate");if(ht(Ui))ze=Ui*(Qe/180);else if(I==="center")ze=0;else if(Ui==="radial"||Ui===!0){var pm=W<0?-H+Qe:-H;ze=pm}else if(Ui==="tangential"&&I!=="outside"&&I!=="outer"){var ni=Math.atan2(W,j);ni<0&&(ni=Qe*2+ni);var gm=j>0;gm&&(ni=Qe+ni),ze=ni-Qe}if(a=!!ze,C.x=et,C.y=ft,C.rotation=ze,C.setStyle({verticalAlign:"middle"}),Kt){C.setStyle({align:jt});var cs=C.states.select;cs&&(cs.x+=C.x,cs.y+=C.y)}else{var Yi=C.getBoundingRect().clone();Yi.applyTransform(C.getComputedTransform());var Kf=(C.style.margin||0)+2.1;Yi.y-=Kf/2,Yi.height+=Kf,e.push({label:C,labelLine:M,position:I,len:O,len2:F,minTurnAngle:k.get("minTurnAngle"),maxSurfaceAngle:k.get("maxSurfaceAngle"),surfaceNormal:new Z(W,j),linePoints:zt,textAlign:jt,labelDistance:P,labelAlignTo:R,edgeDistance:E,bleedMargin:G,rect:Yi,unconstrainedWidth:Yi.width,labelStyleWidth:C.style.width})}x.setTextConfig({inside:Kt})}}),!a&&r.get("avoidLabelOverlap")&&eD(e,i,n,l,u,c,f,h);for(var g=0;g0){for(var f=o.getItemLayout(0),h=1;isNaN(f&&f.startAngle)&&h=a.r0}},t.type="pie",t})(ve);function aD(r,t,e){t=z(t)&&{coordDimensions:t}||B({encodeDefine:r.getEncode()},t);var i=r.getSource(),n=yy(i,t).dimensions,a=new gy(n,r);return a.initData(i,e),a}var oD=(function(){function r(t,e){this._getDataWithEncodedVisual=t,this._getRawData=e}return r.prototype.getAllNames=function(){var t=this._getRawData();return t.mapArray(t.getName)},r.prototype.containName=function(t){var e=this._getRawData();return e.indexOfName(t)>=0},r.prototype.indexOfName=function(t){var e=this._getDataWithEncodedVisual();return e.indexOfName(t)},r.prototype.getItemVisual=function(t,e){var i=this._getDataWithEncodedVisual();return i.getItemVisual(t,e)},r})(),sD=St(),lD=(function(r){N(t,r);function t(){return r!==null&&r.apply(this,arguments)||this}return t.prototype.init=function(e){r.prototype.init.apply(this,arguments),this.legendVisualProvider=new oD(vt(this.getData,this),vt(this.getRawData,this)),this._defaultLabelLine(e)},t.prototype.mergeOption=function(){r.prototype.mergeOption.apply(this,arguments)},t.prototype.getInitialData=function(){return aD(this,{coordDimensions:["value"],encodeDefaulter:_t(ow,this)})},t.prototype.getDataParams=function(e){var i=this.getData(),n=sD(i),a=n.seats;if(!a){var o=[];i.each(i.mapDimension("value"),function(l){o.push(l)}),a=n.seats=t_(o,i.hostModel.get("percentPrecision"))}var s=r.prototype.getDataParams.call(this,e);return s.percent=a[e]||0,s.$vars.push("percent"),s},t.prototype._defaultLabelLine=function(e){eu(e,"labelLine",["show"]);var i=e.labelLine,n=e.emphasis.labelLine;i.show=i.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,"75%"],clockwise:!0,startAngle:90,endAngle:"auto",padAngle:0,minAngle:0,minShowLabelAngle:0,selectedOffset:10,percentPrecision:2,stillShowZeroSum:!0,left:0,top:0,right:0,bottom:0,width:null,height:null,label:{rotate:0,show:!0,overflow:"truncate",position:"outer",alignTo:"none",edgeDistance:"25%",bleedMargin:10,distanceToLabelLine:5},labelLine:{show:!0,length:15,length2:15,smooth:!1,minTurnAngle:90,maxSurfaceAngle:90,lineStyle:{width:1,type:"solid"}},itemStyle:{borderWidth:1,borderJoin:"round"},showEmptyCircle:!0,emptyCircleStyle:{color:"lightgray",opacity:1},labelLayout:{hideOverlap:!0},emphasis:{scale:!0,scaleSize:5},avoidLabelOverlap:!0,animationType:"expansion",animationDuration:1e3,animationTypeUpdate:"transition",animationEasingUpdate:"cubicInOut",animationDurationUpdate:500,animationEasing:"cubicInOut"},t})(we);function uD(r){return{seriesType:r,reset:function(t,e){var i=t.getData();i.filterSelf(function(n){var a=i.mapDimension("value"),o=i.get(a,n);return!(ht(o)&&!isNaN(o)&&o<0)})}}}function $M(r){r.registerChartView(nD),r.registerSeriesModel(lD),Wb("pie",r.registerAction),r.registerLayout(_t(JC,"pie")),r.registerProcessor(jC("pie")),r.registerProcessor(uD("pie"))}var fD=(function(r){N(t,r);function t(){return r!==null&&r.apply(this,arguments)||this}return t.type="grid",t.dependencies=["xAxis","yAxis"],t.layoutMode="box",t.defaultOption={show:!1,z:0,left:"10%",top:60,right:"10%",bottom:70,containLabel:!1,backgroundColor:"rgba(0,0,0,0)",borderWidth:1,borderColor:"#ccc"},t})(lt),Pu=(function(r){N(t,r);function t(){return r!==null&&r.apply(this,arguments)||this}return t.prototype.getCoordSysModel=function(){return this.getReferringComponents("grid",Se).models[0]},t.type="cartesian2dAxis",t})(lt);Oe(Pu,ZT);var Qy={show:!0,z:0,inverse:!1,name:"",nameLocation:"end",nameRotate:null,nameTruncate:{maxWidth:null,ellipsis:"...",placeholder:"."},nameTextStyle:{},nameGap:15,silent:!1,triggerEvent:!1,tooltip:{show:!1},axisPointer:{},axisLine:{show:!0,onZero:!0,onZeroAxisIndex:null,lineStyle:{color:"#6E7079",width:1,type:"solid"},symbol:["none","none"],symbolSize:[10,15]},axisTick:{show:!0,inside:!1,length:5,lineStyle:{width:1}},axisLabel:{show:!0,inside:!1,rotate:0,showMinLabel:null,showMaxLabel:null,margin:8,fontSize:12},splitLine:{show:!0,showMinLine:!0,showMaxLine:!0,lineStyle:{color:["#E0E6F1"],width:1,type:"solid"}},splitArea:{show:!1,areaStyle:{color:["rgba(250,250,250,0.2)","rgba(210,219,238,0.2)"]}}},hD=nt({boundaryGap:!0,deduplication:null,splitLine:{show:!1},axisTick:{alignWithLabel:!1,interval:"auto"},axisLabel:{interval:"auto"}},Qy),$f=nt({boundaryGap:[0,0],axisLine:{show:"auto"},axisTick:{show:"auto"},splitNumber:5,minorTick:{show:!1,splitNumber:5,length:3,lineStyle:{}},minorSplitLine:{show:!1,lineStyle:{color:"#F4F7FD",width:1}}},Qy),vD=nt({splitNumber:6,axisLabel:{showMinLabel:!1,showMaxLabel:!1,rich:{primary:{fontWeight:"bold"}}},splitLine:{show:!1}},$f),cD=ot({logBase:10},$f);const dD={category:hD,value:$f,time:vD,log:cD};var pD={value:1,category:1,time:1,log:1};function jc(r,t,e,i){A(pD,function(n,a){var o=nt(nt({},dD[a],!0),i,!0),s=(function(l){N(u,l);function u(){var f=l!==null&&l.apply(this,arguments)||this;return f.type=t+"Axis."+a,f}return u.prototype.mergeDefaultAndTheme=function(f,h){var c=Yn(this),v=c?os(f):{},d=h.getTheme();nt(f,d.get(a+"Axis")),nt(f,this.getDefaultOption()),f.type=td(f),c&&ki(f,v,c)},u.prototype.optionUpdated=function(){var f=this.option;f.type==="category"&&(this.__ordinalMeta=Mu.createByAxisModel(this))},u.prototype.getCategories=function(f){var h=this.option;if(h.type==="category")return f?h.data:this.__ordinalMeta.categories},u.prototype.getOrdinalMeta=function(){return this.__ordinalMeta},u.type=t+"Axis."+a,u.defaultOption=o,u})(e);r.registerComponentModel(s)}),r.registerSubTypeDefaulter(t+"Axis",td)}function td(r){return r.type||(r.data?"category":"value")}var gD=(function(){function r(t){this.type="cartesian",this._dimList=[],this._axes={},this.name=t||""}return r.prototype.getAxis=function(t){return this._axes[t]},r.prototype.getAxes=function(){return U(this._dimList,function(t){return this._axes[t]},this)},r.prototype.getAxesByScale=function(t){return t=t.toLowerCase(),Mt(this.getAxes(),function(e){return e.scale.type===t})},r.prototype.addAxis=function(t){var e=t.dim;this._axes[e]=t,this._dimList.push(e)},r})(),Ru=["x","y"];function ed(r){return r.type==="interval"||r.type==="time"}var yD=(function(r){N(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type="cartesian2d",e.dimensions=Ru,e}return t.prototype.calcAffineTransform=function(){this._transform=this._invTransform=null;var e=this.getAxis("x").scale,i=this.getAxis("y").scale;if(!(!ed(e)||!ed(i))){var n=e.getExtent(),a=i.getExtent(),o=this.dataToPoint([n[0],a[0]]),s=this.dataToPoint([n[1],a[1]]),l=n[1]-n[0],u=a[1]-a[0];if(!(!l||!u)){var f=(s[0]-o[0])/l,h=(s[1]-o[1])/u,c=o[0]-n[0]*f,v=o[1]-a[0]*h,d=this._transform=[f,0,0,h,c,v];this._invTransform=qu([],d)}}},t.prototype.getBaseAxis=function(){return this.getAxesByScale("ordinal")[0]||this.getAxesByScale("time")[0]||this.getAxis("x")},t.prototype.containPoint=function(e){var i=this.getAxis("x"),n=this.getAxis("y");return i.contain(i.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,i){var n=this.dataToPoint(e),a=this.dataToPoint(i),o=this.getArea(),s=new at(n[0],n[1],a[0]-n[0],a[1]-n[1]);return o.intersect(s)},t.prototype.dataToPoint=function(e,i,n){n=n||[];var a=e[0],o=e[1];if(this._transform&&a!=null&&isFinite(a)&&o!=null&&isFinite(o))return fe(n,e,this._transform);var s=this.getAxis("x"),l=this.getAxis("y");return n[0]=s.toGlobalCoord(s.dataToCoord(a,i)),n[1]=l.toGlobalCoord(l.dataToCoord(o,i)),n},t.prototype.clampData=function(e,i){var n=this.getAxis("x").scale,a=this.getAxis("y").scale,o=n.getExtent(),s=a.getExtent(),l=n.parse(e[0]),u=a.parse(e[1]);return i=i||[],i[0]=Math.min(Math.max(Math.min(o[0],o[1]),l),Math.max(o[0],o[1])),i[1]=Math.min(Math.max(Math.min(s[0],s[1]),u),Math.max(s[0],s[1])),i},t.prototype.pointToData=function(e,i){var n=[];if(this._invTransform)return fe(n,e,this._invTransform);var a=this.getAxis("x"),o=this.getAxis("y");return n[0]=a.coordToData(a.toLocalCoord(e[0]),i),n[1]=o.coordToData(o.toLocalCoord(e[1]),i),n},t.prototype.getOtherAxis=function(e){return this.getAxis(e.dim==="x"?"y":"x")},t.prototype.getArea=function(e){e=e||0;var i=this.getAxis("x").getGlobalExtent(),n=this.getAxis("y").getGlobalExtent(),a=Math.min(i[0],i[1])-e,o=Math.min(n[0],n[1])-e,s=Math.max(i[0],i[1])-a+e,l=Math.max(n[0],n[1])-o+e;return new at(a,o,s,l)},t})(gD),mD=(function(r){N(t,r);function t(e,i,n,a,o){var s=r.call(this,e,i,n)||this;return s.index=0,s.type=a||"value",s.position=o||"bottom",s}return t.prototype.isHorizontal=function(){var e=this.position;return e==="top"||e==="bottom"},t.prototype.getGlobalExtent=function(e){var i=this.getExtent();return i[0]=this.toGlobalCoord(i[0]),i[1]=this.toGlobalCoord(i[1]),e&&i[0]>i[1]&&i.reverse(),i},t.prototype.pointToData=function(e,i){return this.coordToData(this.toLocalCoord(e[this.dim==="x"?0:1]),i)},t.prototype.setCategorySortInfo=function(e){if(this.type!=="category")return!1;this.model.option.categorySortInfo=e,this.scale.setSortInfo(e)},t})(nC);function Eu(r,t,e){e=e||{};var i=r.coordinateSystem,n=t.axis,a={},o=n.getAxesOnZeroOf()[0],s=n.position,l=o?"onZero":s,u=n.dim,f=i.getRect(),h=[f.x,f.x+f.width,f.y,f.y+f.height],c={left:0,right:1,top:0,bottom:1,onZero:2},v=t.get("offset")||0,d=u==="x"?[h[2]-v,h[3]+v]:[h[0]-v,h[1]+v];if(o){var g=o.toGlobalCoord(o.dataToCoord(0));d[c.onZero]=Math.max(Math.min(g,d[1]),d[0])}a.position=[u==="y"?d[c[l]]:h[0],u==="x"?d[c[l]]:h[3]],a.rotation=Math.PI/2*(u==="x"?0:1);var p={top:-1,bottom:1,left:-1,right:1};a.labelDirection=a.tickDirection=a.nameDirection=p[s],a.labelOffset=o?d[c[s]]-d[c.onZero]:0,t.get(["axisTick","inside"])&&(a.tickDirection=-a.tickDirection),Nn(e.labelInside,t.get(["axisLabel","inside"]))&&(a.labelDirection=-a.labelDirection);var y=t.get(["axisLabel","rotate"]);return a.labelRotate=l==="top"?-y:y,a.z2=1,a}function rd(r){return r.get("coordinateSystem")==="cartesian2d"}function id(r){var t={xAxisModel:null,yAxisModel:null};return A(t,function(e,i){var n=i.replace(/Model$/,""),a=r.getReferringComponents(n,Se).models[0];t[i]=a}),t}var Ml=Math.log;function _D(r,t,e){var i=Vi.prototype,n=i.getTicks.call(e),a=i.getTicks.call(e,!0),o=n.length-1,s=i.getInterval.call(e),l=My(r,t),u=l.extent,f=l.fixMin,h=l.fixMax;if(r.type==="log"){var c=Ml(r.base);u=[Ml(u[0])/c,Ml(u[1])/c]}r.setExtent(u[0],u[1]),r.calcNiceExtent({splitNumber:o,fixMin:f,fixMax:h});var v=i.getExtent.call(r);f&&(u[0]=v[0]),h&&(u[1]=v[1]);var d=i.getInterval.call(r),g=u[0],p=u[1];if(f&&h)d=(p-g)/o;else if(f)for(p=u[0]+d*o;pu[0]&&isFinite(g)&&isFinite(u[0]);)d=Sl(d),g=u[1]-d*o;else{var y=r.getTicks().length-1;y>o&&(d=Sl(d));var m=d*o;p=Math.ceil(u[1]/d)*d,g=wt(p-m),g<0&&u[0]>=0?(g=0,p=wt(m)):p>0&&u[1]<=0&&(p=0,g=-wt(m))}var _=(n[0].value-a[0].value)/s,S=(n[o].value-a[o].value)/s;i.setExtent.call(r,g+d*_,p+d*S),i.setInterval.call(r,d),(_||S)&&i.setNiceExtent.call(r,g+d,p-d)}var SD=(function(){function r(t,e,i){this.type="grid",this._coordsMap={},this._coordsList=[],this._axesMap={},this._axesList=[],this.axisPointerEnabled=!0,this.dimensions=Ru,this._initCartesian(t,e,i),this.model=t}return r.prototype.getRect=function(){return this._rect},r.prototype.update=function(t,e){var i=this._axesMap;this._updateScale(t,this.model);function n(o){var s,l=dt(o),u=l.length;if(u){for(var f=[],h=u-1;h>=0;h--){var c=+l[h],v=o[c],d=v.model,g=v.scale;Au(g)&&d.get("alignTicks")&&d.get("interval")==null?f.push(v):(Ic(g,d),Au(g)&&(s=v))}f.length&&(s||(s=f.pop(),Ic(s.scale,s.model)),A(f,function(p){_D(p.scale,p.model,s.scale)}))}}n(i.x),n(i.y);var a={};A(i.x,function(o){nd(i,"y",o,a)}),A(i.y,function(o){nd(i,"x",o,a)}),this.resize(this.model,e)},r.prototype.resize=function(t,e,i){var n=t.getBoxLayoutParams(),a=!i&&t.get("containLabel"),o=Un(n,{width:e.getWidth(),height:e.getHeight()});this._rect=o;var s=this._axesList;l(),a&&(A(s,function(u){if(!u.model.get(["axisLabel","inside"])){var f=YT(u);if(f){var h=u.isHorizontal()?"height":"width",c=u.model.get(["axisLabel","margin"]);o[h]-=f[h]+c,u.position==="top"?o.y+=f.height+c:u.position==="left"&&(o.x+=f.width+c)}}}),l()),A(this._coordsList,function(u){u.calcAffineTransform()});function l(){A(s,function(u){var f=u.isHorizontal(),h=f?[0,o.width]:[0,o.height],c=u.inverse?1:0;u.setExtent(h[c],h[1-c]),wD(u,f?o.x:o.y)})}},r.prototype.getAxis=function(t,e){var i=this._axesMap[t];if(i!=null)return i[e||0]},r.prototype.getAxes=function(){return this._axesList.slice()},r.prototype.getCartesian=function(t,e){if(t!=null&&e!=null){var i="x"+t+"y"+e;return this._coordsMap[i]}Y(t)&&(e=t.yAxisIndex,t=t.xAxisIndex);for(var n=0,a=this._coordsList;n0?"top":"bottom",a="center"):go(n-vr)?(o=i>0?"bottom":"top",a="center"):(o="middle",n>0&&n0?"right":"left":a=i>0?"left":"right"),{rotation:n,textAlign:a,textVerticalAlign:o}},r.makeAxisEventDataBase=function(t){var e={componentType:t.mainType,componentIndex:t.componentIndex};return e[t.mainType+"Index"]=t.componentIndex,e},r.isLabelSilent=function(t){var e=t.get("tooltip");return t.get("silent")||!(t.get("triggerEvent")||e&&e.show)},r})(),od={axisLine:function(r,t,e,i){var n=t.get(["axisLine","show"]);if(n==="auto"&&r.handleAutoShown&&(n=r.handleAutoShown("axisLine")),!!n){var a=t.axis.getExtent(),o=i.transform,s=[a[0],0],l=[a[1],0],u=s[0]>l[0];o&&(fe(s,s,o),fe(l,l,o));var f=B({lineCap:"round"},t.getModel(["axisLine","lineStyle"]).getLineStyle()),h=new _r({shape:{x1:s[0],y1:s[1],x2:l[0],y2:l[1]},style:f,strokeContainThreshold:r.strokeContainThreshold||5,silent:!0,z2:1});Vn(h.shape,h.style.lineWidth),h.anid="line",e.add(h);var c=t.get(["axisLine","symbol"]);if(c!=null){var v=t.get(["axisLine","symbolSize"]);V(c)&&(c=[c,c]),(V(v)||ht(v))&&(v=[v,v]);var d=Hg(t.get(["axisLine","symbolOffset"])||0,v),g=v[0],p=v[1];A([{rotate:r.rotation+Math.PI/2,offset:d[0],r:0},{rotate:r.rotation-Math.PI/2,offset:d[1],r:Math.sqrt((s[0]-l[0])*(s[0]-l[0])+(s[1]-l[1])*(s[1]-l[1]))}],function(y,m){if(c[m]!=="none"&&c[m]!=null){var _=Bi(c[m],-g/2,-p/2,g,p,f.stroke,!0),S=y.r+y.offset,b=u?l:s;_.attr({rotation:y.rotate,x:b[0]+S*Math.cos(r.rotation),y:b[1]-S*Math.sin(r.rotation),silent:!0,z2:11}),e.add(_)}})}}},axisTickLabel:function(r,t,e,i){var n=TD(e,i,t,r),a=DD(e,i,t,r);if(xD(t,a,n),CD(e,i,t,r.tickDirection),t.get(["axisLabel","hideOverlap"])){var o=hC(U(a,function(s){return{label:s,priority:s.z2,defaultAttr:{ignore:s.ignore}}}));dC(o)}},axisName:function(r,t,e,i){var n=Nn(r.axisName,t.get("name"));if(n){var a=t.get("nameLocation"),o=r.nameDirection,s=t.getModel("nameTextStyle"),l=t.get("nameGap")||0,u=t.axis.getExtent(),f=u[0]>u[1]?-1:1,h=[a==="start"?u[0]-f*l:a==="end"?u[1]+f*l:(u[0]+u[1])/2,ld(a)?r.labelOffset+o*l:0],c,v=t.get("nameRotate");v!=null&&(v=v*vr/180);var d;ld(a)?c=gr.innerTextLayout(r.rotation,v??r.rotation,o):(c=bD(r.rotation,a,v||0,u),d=r.axisNameAvailableWidth,d!=null&&(d=Math.abs(d/Math.sin(c.rotation)),!isFinite(d)&&(d=null)));var g=s.getFont(),p=t.get("nameTruncate",!0)||{},y=p.ellipsis,m=Nn(r.nameTruncateMaxWidth,p.maxWidth,d),_=new Nt({x:h[0],y:h[1],rotation:c.rotation,silent:gr.isLabelSilent(t),style:Ei(s,{text:n,font:g,overflow:"truncate",width:m,ellipsis:y,fill:s.getTextColor()||t.get(["axisLine","lineStyle","color"]),align:s.get("align")||c.textAlign,verticalAlign:s.get("verticalAlign")||c.textVerticalAlign}),z2:1});if(qo({el:_,componentModel:t,itemName:n}),_.__fullText=n,_.anid="name",t.get("triggerEvent")){var S=gr.makeAxisEventDataBase(t);S.targetType="axisName",S.name=n,it(_).eventData=S}i.add(_),_.updateTransform(),e.add(_),_.decomposeTransform()}}};function bD(r,t,e,i){var n=ap(e-r),a,o,s=i[0]>i[1],l=t==="start"&&!s||t!=="start"&&s;return go(n-vr/2)?(o=l?"bottom":"top",a="center"):go(n-vr*1.5)?(o=l?"top":"bottom",a="center"):(o="middle",nvr/2?a=l?"left":"right":a=l?"right":"left"),{rotation:n,textAlign:a,textVerticalAlign:o}}function xD(r,t,e){if(!Ay(r.axis)){var i=r.get(["axisLabel","showMinLabel"]),n=r.get(["axisLabel","showMaxLabel"]);t=t||[],e=e||[];var a=t[0],o=t[1],s=t[t.length-1],l=t[t.length-2],u=e[0],f=e[1],h=e[e.length-1],c=e[e.length-2];i===!1?(ee(a),ee(u)):sd(a,o)&&(i?(ee(o),ee(f)):(ee(a),ee(u))),n===!1?(ee(s),ee(h)):sd(l,s)&&(n?(ee(l),ee(c)):(ee(s),ee(h)))}}function ee(r){r&&(r.ignore=!0)}function sd(r,t){var e=r&&r.getBoundingRect().clone(),i=t&&t.getBoundingRect().clone();if(!(!e||!i)){var n=$u([]);return Zu(n,n,-r.rotation),e.applyTransform(Ai([],n,r.getLocalTransform())),i.applyTransform(Ai([],n,t.getLocalTransform())),e.intersect(i)}}function ld(r){return r==="middle"||r==="center"}function Jy(r,t,e,i,n){for(var a=[],o=[],s=[],l=0;l=0||r===t}function RD(r){var t=Zf(r);if(t){var e=t.axisPointerModel,i=t.axis.scale,n=e.option,a=e.get("status"),o=e.get("value");o!=null&&(o=i.parse(o));var s=ku(e);a==null&&(n.status=s?"show":"hide");var l=i.getExtent().slice();l[0]>l[1]&&l.reverse(),(o==null||o>l[1])&&(o=l[1]),os)return!0;if(o){var l=Zf(t).seriesDataCount,u=n.getExtent();return Math.abs(u[0]-u[1])/l>s}return!1}return i===!0},r.prototype.makeElOption=function(t,e,i,n,a){},r.prototype.createPointerEl=function(t,e,i,n){var a=e.pointer;if(a){var o=Ur(t).pointerEl=new AS[a.type](hd(e.pointer));t.add(o)}},r.prototype.createLabelEl=function(t,e,i,n){if(e.label){var a=Ur(t).labelEl=new Nt(hd(e.label));t.add(a),cd(a,n)}},r.prototype.updatePointerEl=function(t,e,i){var n=Ur(t).pointerEl;n&&e.pointer&&(n.setStyle(e.pointer.style),i(n,{shape:e.pointer.shape}))},r.prototype.updateLabelEl=function(t,e,i,n){var a=Ur(t).labelEl;a&&(a.setStyle(e.label.style),i(a,{x:e.label.x,y:e.label.y}),cd(a,n))},r.prototype._renderHandle=function(t){if(!(this._dragging||!this.updateHandleTransform)){var e=this._axisPointerModel,i=this._api.getZr(),n=this._handle,a=e.getModel("handle"),o=e.get("status");if(!a.get("show")||!o||o==="hide"){n&&i.remove(n),this._handle=null;return}var s;this._handle||(s=!0,n=this._handle=yf(a.get("icon"),{cursor:"move",draggable:!0,onmousemove:function(u){Hd(u.event)},onmousedown:Il(this._onHandleDragMove,this,0,0),drift:Il(this._onHandleDragMove,this),ondragend:Il(this._onHandleDragEnd,this)}),i.add(n)),dd(n,e,!1),n.setStyle(a.getItemStyle(null,["color","borderColor","borderWidth","opacity","shadowColor","shadowBlur","shadowOffsetX","shadowOffsetY"]));var l=a.get("size");z(l)||(l=[l,l]),n.scaleX=l[0]/2,n.scaleY=l[1]/2,Eg(this,"_doDispatchAxisPointer",a.get("throttle")||0,"fixRate"),this._moveHandleToValue(t,s)}},r.prototype._moveHandleToValue=function(t,e){vd(this._axisPointerModel,!e&&this._moveAnimation,this._handle,Pl(this.getHandleTransform(t,this._axisModel,this._axisPointerModel)))},r.prototype._onHandleDragMove=function(t,e){var i=this._handle;if(i){this._dragging=!0;var n=this.updateHandleTransform(Pl(i),[t,e],this._axisModel,this._axisPointerModel);this._payloadInfo=n,i.stopAnimation(),i.attr(Pl(n)),Ur(i).lastProp=null,this._doDispatchAxisPointer()}},r.prototype._doDispatchAxisPointer=function(){var t=this._handle;if(t){var e=this._payloadInfo,i=this._axisModel;this._api.dispatchAction({type:"updateAxisPointer",x:e.cursorPoint[0],y:e.cursorPoint[1],tooltipOption:e.tooltipOption,axesInfo:[{axisDim:i.axis.dim,axisIndex:i.componentIndex}]})}},r.prototype._onHandleDragEnd=function(){this._dragging=!1;var t=this._handle;if(t){var e=this._axisPointerModel.get("value");this._moveHandleToValue(e),this._api.dispatchAction({type:"hideTip"})}},r.prototype.clear=function(t){this._lastValue=null,this._lastStatus=null;var e=t.getZr(),i=this._group,n=this._handle;e&&i&&(this._lastGraphicKey=null,i&&e.remove(i),n&&e.remove(n),this._group=null,this._handle=null,this._payloadInfo=null),mu(this,"_doDispatchAxisPointer")},r.prototype.doClear=function(){},r.prototype.buildLabel=function(t,e,i){return i=i||0,{x:t[i],y:t[1-i],width:e[i],height:e[1-i]}},r})();function vd(r,t,e,i){rm(Ur(e).lastProp,i)||(Ur(e).lastProp=i,t?Ft(e,i,r):(e.stopAnimation(),e.attr(i)))}function rm(r,t){if(Y(r)&&Y(t)){var e=!0;return A(t,function(i,n){e=e&&rm(r[n],i)}),!!e}else return r===t}function cd(r,t){r[t.get(["label","show"])?"show":"hide"]()}function Pl(r){return{x:r.x||0,y:r.y||0,rotation:r.rotation||0}}function dd(r,t,e){var i=t.get("z"),n=t.get("zlevel");r&&r.traverse(function(a){a.type!=="group"&&(i!=null&&(a.z=i),n!=null&&(a.zlevel=n),a.silent=e)})}function WD(r){var t=r.get("type"),e=r.getModel(t+"Style"),i;return t==="line"?(i=e.getLineStyle(),i.fill=null):t==="shadow"&&(i=e.getAreaStyle(),i.stroke=null),i}function UD(r,t,e,i,n){var a=e.get("value"),o=im(a,t.axis,t.ecModel,e.get("seriesDataIndices"),{precision:e.get(["label","precision"]),formatter:e.get(["label","formatter"])}),s=e.getModel("label"),l=as(s.get("padding")||0),u=s.getFont(),f=Ju(o,u),h=n.position,c=f.width+l[1]+l[3],v=f.height+l[0]+l[2],d=n.align;d==="right"&&(h[0]-=c),d==="center"&&(h[0]-=c/2);var g=n.verticalAlign;g==="bottom"&&(h[1]-=v),g==="middle"&&(h[1]-=v/2),YD(h,c,v,i);var p=s.get("backgroundColor");(!p||p==="auto")&&(p=t.get(["axisLine","lineStyle","color"])),r.label={x:h[0],y:h[1],style:Ei(s,{text:o,font:u,fill:s.getTextColor(),padding:l,backgroundColor:p}),z2:10}}function YD(r,t,e,i){var n=i.getWidth(),a=i.getHeight();r[0]=Math.min(r[0]+t,n)-t,r[1]=Math.min(r[1]+e,a)-e,r[0]=Math.max(r[0],0),r[1]=Math.max(r[1],0)}function im(r,t,e,i,n){r=t.scale.parse(r);var a=t.scale.getLabel({value:r},{precision:n.precision}),o=n.formatter;if(o){var s={value:Vf(t,{value:r}),axisDimension:t.dim,axisIndex:t.index,seriesData:[]};A(i,function(l){var u=e.getSeriesByIndex(l.seriesIndex),f=l.dataIndexInside,h=u&&u.getDataParams(f);h&&s.seriesData.push(h)}),V(o)?a=o.replace("{value}",a):q(o)&&(a=o(s))}return a}function nm(r,t,e){var i=Mi();return Zu(i,i,e.rotation),Wl(i,i,e.position),gf([r.dataToCoord(t),(e.labelOffset||0)+(e.labelDirection||1)*(e.labelMargin||0)],i)}function XD(r,t,e,i,n,a){var o=gr.innerTextLayout(e.rotation,0,e.labelDirection);e.labelMargin=n.get(["label","margin"]),UD(t,i,n,a,{position:nm(i.axis,r,e),align:o.textAlign,verticalAlign:o.textVerticalAlign})}function $D(r,t,e){return e=e||0,{x1:r[e],y1:r[1-e],x2:t[e],y2:t[1-e]}}function ZD(r,t,e){return e=e||0,{x:r[e],y:r[1-e],width:t[e],height:t[1-e]}}var qD=(function(r){N(t,r);function t(){return r!==null&&r.apply(this,arguments)||this}return t.prototype.makeElOption=function(e,i,n,a,o){var s=n.axis,l=s.grid,u=a.get("type"),f=pd(l,s).getOtherAxis(s).getGlobalExtent(),h=s.toGlobalCoord(s.dataToCoord(i,!0));if(u&&u!=="none"){var c=WD(a),v=KD[u](s,h,f);v.style=c,e.graphicKey=v.type,e.pointer=v}var d=Eu(l.model,n);XD(i,e,d,n,a,o)},t.prototype.getHandleTransform=function(e,i,n){var a=Eu(i.axis.grid.model,i,{labelInside:!1});a.labelMargin=n.get(["handle","margin"]);var o=nm(i.axis,e,a);return{x:o[0],y:o[1],rotation:a.rotation+(a.labelDirection<0?Math.PI:0)}},t.prototype.updateHandleTransform=function(e,i,n,a){var o=n.axis,s=o.grid,l=o.getGlobalExtent(!0),u=pd(s,o).getOtherAxis(o).getGlobalExtent(),f=o.dim==="x"?0:1,h=[e.x,e.y];h[f]+=i[f],h[f]=Math.min(l[1],h[f]),h[f]=Math.max(l[0],h[f]);var c=(u[1]+u[0])/2,v=[c,c];v[f]=h[f];var d=[{verticalAlign:"middle"},{align:"center"}];return{x:h[0],y:h[1],rotation:e.rotation,cursorPoint:v,tooltipOption:d[f]}},t})(VD);function pd(r,t){var e={};return e[t.dim+"AxisIndex"]=t.index,r.getCartesian(e)}var KD={line:function(r,t,e){var i=$D([t,e[0]],[t,e[1]],gd(r));return{type:"Line",subPixelOptimize:!0,shape:i}},shadow:function(r,t,e){var i=Math.max(1,r.getBandWidth()),n=e[1]-e[0];return{type:"Rect",shape:ZD([t-i/2,e[0]],[i,n],gd(r))}}};function gd(r){return r.dim==="x"?0:1}var QD=(function(r){N(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e}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:"#B9BEC9",width:1,type:"dashed"},shadowStyle:{color:"rgba(210,219,238,0.2)"},label:{show:!0,formatter:null,precision:"auto",margin:3,color:"#fff",padding:[5,7,5,7],backgroundColor:"auto",borderColor:null,borderWidth:0,borderRadius:3},handle:{show:!1,icon:"M10.7,11.9v-1.3H9.3v1.3c-4.9,0.3-8.8,4.4-8.8,9.4c0,5,3.9,9.1,8.8,9.4h1.3c4.9-0.3,8.8-4.4,8.8-9.4C19.5,16.3,15.6,12.2,10.7,11.9z M13.3,24.4H6.7v-1.2h6.6z M13.3,22H6.7v-1.2h6.6z M13.3,19.6H6.7v-1.2h6.6z",size:45,margin:50,color:"#333",shadowBlur:3,shadowColor:"#aaa",shadowOffsetX:0,shadowOffsetY:2,throttle:40}},t})(lt),Ye=St(),JD=A;function am(r,t,e){if(!$.node){var i=t.getZr();Ye(i).records||(Ye(i).records={}),jD(i,t);var n=Ye(i).records[r]||(Ye(i).records[r]={});n.handler=e}}function jD(r,t){if(Ye(r).initialized)return;Ye(r).initialized=!0,e("click",_t(yd,"click")),e("mousemove",_t(yd,"mousemove")),e("globalout",eM);function e(i,n){r.on(i,function(a){var o=rM(t);JD(Ye(r).records,function(s){s&&n(s,a,o.dispatchAction)}),tM(o.pendings,t)})}}function tM(r,t){var e=r.showTip.length,i=r.hideTip.length,n;e?n=r.showTip[e-1]:i&&(n=r.hideTip[i-1]),n&&(n.dispatchAction=null,t.dispatchAction(n))}function eM(r,t,e){r.handler("leave",null,e)}function yd(r,t,e,i){t.handler(r,e,i)}function rM(r){var t={showTip:[],hideTip:[]},e=function(i){var n=t[i.type];n?n.push(i):(i.dispatchAction=e,r.dispatchAction(i))};return{dispatchAction:e,pendings:t}}function Bu(r,t){if(!$.node){var e=t.getZr(),i=(Ye(e).records||{})[r];i&&(Ye(e).records[r]=null)}}var iM=(function(r){N(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e}return t.prototype.render=function(e,i,n){var a=i.getComponent("tooltip"),o=e.get("triggerOn")||a&&a.get("triggerOn")||"mousemove|click";am("axisPointer",n,function(s,l,u){o!=="none"&&(s==="leave"||o.indexOf(s)>=0)&&u({type:"updateAxisPointer",currTrigger:s,x:l&&l.offsetX,y:l&&l.offsetY})})},t.prototype.remove=function(e,i){Bu("axisPointer",i)},t.prototype.dispose=function(e,i){Bu("axisPointer",i)},t.type="axisPointer",t})(ke);function om(r,t){var e=[],i=r.seriesIndex,n;if(i==null||!(n=t.getSeriesByIndex(i)))return{point:[]};var a=n.getData(),o=jr(a,r);if(o==null||o<0||z(o))return{point:[]};var s=a.getItemGraphicEl(o),l=n.coordinateSystem;if(n.getTooltipPosition)e=n.getTooltipPosition(o)||[];else if(l&&l.dataToPoint)if(r.isStacked){var u=l.getBaseAxis(),f=l.getOtherAxis(u),h=f.dim,c=u.dim,v=h==="x"||h==="radius"?1:0,d=a.mapDimension(c),g=[];g[v]=a.get(d,o),g[1-v]=a.get(a.getCalculationInfo("stackResultDimension"),o),e=l.dataToPoint(g)||[]}else e=l.dataToPoint(a.getValues(U(l.dimensions,function(y){return a.mapDimension(y)}),o))||[];else if(s){var p=s.getBoundingRect().clone();p.applyTransform(s.transform),e=[p.x+p.width/2,p.y+p.height/2]}return{point:e,el:s}}var md=St();function nM(r,t,e){var i=r.currTrigger,n=[r.x,r.y],a=r,o=r.dispatchAction||vt(e.dispatchAction,e),s=t.getComponent("axisPointer").coordSysAxesInfo;if(s){ao(n)&&(n=om({seriesIndex:a.seriesIndex,dataIndex:a.dataIndex},t).point);var l=ao(n),u=a.axesInfo,f=s.axesInfo,h=i==="leave"||ao(n),c={},v={},d={list:[],map:{}},g={showPointer:_t(oM,v),showTooltip:_t(sM,d)};A(s.coordSysMap,function(y,m){var _=l||y.containPoint(n);A(s.coordSysAxesInfo[m],function(S,b){var w=S.axis,x=hM(u,S);if(!h&&_&&(!u||x)){var T=x&&x.value;T==null&&!l&&(T=w.pointToData(n)),T!=null&&_d(S,T,g,!1,c)}})});var p={};return A(f,function(y,m){var _=y.linkGroup;_&&!v[m]&&A(_.axesInfo,function(S,b){var w=v[b];if(S!==y&&w){var x=w.value;_.mapper&&(x=y.axis.scale.parse(_.mapper(x,Sd(S),Sd(y)))),p[y.key]=x}})}),A(p,function(y,m){_d(f[m],y,g,!0,c)}),lM(v,f,c),uM(d,n,r,o),fM(f,o,e),c}}function _d(r,t,e,i,n){var a=r.axis;if(!(a.scale.isBlank()||!a.containData(t))){if(!r.involveSeries){e.showPointer(r,t);return}var o=aM(t,r),s=o.payloadBatch,l=o.snapToValue;s[0]&&n.seriesIndex==null&&B(n,s[0]),!i&&r.snap&&a.containData(l)&&l!=null&&(t=l),e.showPointer(r,t,s),e.showTooltip(r,o,l)}}function aM(r,t){var e=t.axis,i=e.dim,n=r,a=[],o=Number.MAX_VALUE,s=-1;return A(t.seriesModels,function(l,u){var f=l.getData().mapDimensionsAll(i),h,c;if(l.getAxisTooltipData){var v=l.getAxisTooltipData(f,r,e);c=v.dataIndices,h=v.nestestValue}else{if(c=l.getData().indicesOfNearest(f[0],r,e.type==="category"?.5:null),!c.length)return;h=l.getData().get(f[0],c[0])}if(!(h==null||!isFinite(h))){var d=r-h,g=Math.abs(d);g<=o&&((g=0&&s<0)&&(o=g,s=d,n=h,a.length=0),A(c,function(p){a.push({seriesIndex:l.seriesIndex,dataIndexInside:p,dataIndex:l.getData().getRawIndex(p)})}))}}),{payloadBatch:a,snapToValue:n}}function oM(r,t,e,i){r[t.key]={value:e,payloadBatch:i}}function sM(r,t,e,i){var n=e.payloadBatch,a=t.axis,o=a.model,s=t.axisPointerModel;if(!(!t.triggerTooltip||!n.length)){var l=t.coordSys.model,u=Qn(l),f=r.map[u];f||(f=r.map[u]={coordSysId:l.id,coordSysIndex:l.componentIndex,coordSysType:l.type,coordSysMainType:l.mainType,dataByAxis:[]},r.list.push(f)),f.dataByAxis.push({axisDim:a.dim,axisIndex:o.componentIndex,axisType:o.type,axisId:o.id,value:i,valueLabelOpt:{precision:s.get(["label","precision"]),formatter:s.get(["label","formatter"])},seriesDataIndices:n.slice()})}}function lM(r,t,e){var i=e.axesInfo=[];A(t,function(n,a){var o=n.axisPointerModel.option,s=r[a];s?(!n.useHandle&&(o.status="show"),o.value=s.value,o.seriesDataIndices=(s.payloadBatch||[]).slice()):!n.useHandle&&(o.status="hide"),o.status==="show"&&i.push({axisDim:n.axis.dim,axisIndex:n.axis.model.componentIndex,value:o.value})})}function uM(r,t,e,i){if(ao(t)||!r.list.length){i({type:"hideTip"});return}var n=((r.list[0].dataByAxis[0]||{}).seriesDataIndices||[])[0]||{};i({type:"showTip",escapeConnect:!0,x:t[0],y:t[1],tooltipOption:e.tooltipOption,position:e.position,dataIndexInside:n.dataIndexInside,dataIndex:n.dataIndex,seriesIndex:n.seriesIndex,dataByCoordSys:r.list})}function fM(r,t,e){var i=e.getZr(),n="axisPointerLastHighlights",a=md(i)[n]||{},o=md(i)[n]={};A(r,function(u,f){var h=u.axisPointerModel.option;h.status==="show"&&u.triggerEmphasis&&A(h.seriesDataIndices,function(c){var v=c.seriesIndex+" | "+c.dataIndex;o[v]=c})});var s=[],l=[];A(a,function(u,f){!o[f]&&l.push(u)}),A(o,function(u,f){!a[f]&&s.push(u)}),l.length&&e.dispatchAction({type:"downplay",escapeConnect:!0,notBlur:!0,batch:l}),s.length&&e.dispatchAction({type:"highlight",escapeConnect:!0,notBlur:!0,batch:s})}function hM(r,t){for(var e=0;e<(r||[]).length;e++){var i=r[e];if(t.axis.dim===i.axisDim&&t.axis.model.componentIndex===i.axisIndex)return i}}function Sd(r){var t=r.axis.model,e={},i=e.axisDim=r.axis.dim;return e.axisIndex=e[i+"AxisIndex"]=t.componentIndex,e.axisName=e[i+"AxisName"]=t.name,e.axisId=e[i+"AxisId"]=t.id,e}function ao(r){return!r||r[0]==null||isNaN(r[0])||r[1]==null||isNaN(r[1])}function sm(r){jy.registerAxisPointerClass("CartesianAxisPointer",qD),r.registerComponentModel(QD),r.registerComponentView(iM),r.registerPreprocessor(function(t){if(t){(!t.axisPointer||t.axisPointer.length===0)&&(t.axisPointer={});var e=t.axisPointer.link;e&&!z(e)&&(t.axisPointer.link=[e])}}),r.registerProcessor(r.PRIORITY.PROCESSOR.STATISTIC,function(t,e){t.getComponent("axisPointer").coordSysAxesInfo=MD(t,e)}),r.registerAction({type:"updateAxisPointer",event:"updateAxisPointer",update:":updateAxisPointer"},nM)}function ZM(r){ri(HD),ri(sm)}function vM(r,t){var e=as(t.get("padding")),i=t.getItemStyle(["color","opacity"]);return i.fill=t.get("backgroundColor"),r=new bt({shape:{x:r.x-e[3],y:r.y-e[0],width:r.width+e[1]+e[3],height:r.height+e[0]+e[2],r:t.get("borderRadius")},style:i,silent:!0,z2:-1}),r}var cM=(function(r){N(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e}return t.type="tooltip",t.dependencies=["axisPointer"],t.defaultOption={z:60,show:!0,showContent:!0,trigger:"item",triggerOn:"mousemove|click",alwaysShowContent:!1,displayMode:"single",renderMode:"auto",confine:null,showDelay:0,hideDelay:100,transitionDuration:.4,enterable:!1,backgroundColor:"#fff",shadowBlur:10,shadowColor:"rgba(0, 0, 0, .2)",shadowOffsetX:1,shadowOffsetY:2,borderRadius:4,borderWidth:1,padding:null,extraCssText:"",axisPointer:{type:"line",axis:"auto",animation:"auto",animationDurationUpdate:200,animationEasingUpdate:"exponentialOut",crossStyle:{color:"#999",width:1,type:"dashed",textStyle:{}}},textStyle:{color:"#666",fontSize:14}},t})(lt);function lm(r){var t=r.get("confine");return t!=null?!!t:r.get("renderMode")==="richText"}function um(r){if($.domSupported){for(var t=document.documentElement.style,e=0,i=r.length;e-1?(s+="top:50%",l+="translateY(-50%) rotate("+(u=a==="left"?-225:-45)+"deg)"):(s+="left:50%",l+="translateX(-50%) rotate("+(u=a==="top"?225:45)+"deg)");var f=u*Math.PI/180,h=o+n,c=h*Math.abs(Math.cos(f))+h*Math.abs(Math.sin(f)),v=Math.round(((c-Math.SQRT2*n)/2+Math.SQRT2*n-(c-h)/2)*100)/100;s+=";"+a+":-"+v+"px";var d=t+" solid "+n+"px;",g=["position:absolute;width:"+o+"px;height:"+o+"px;z-index:-1;",s+";"+l+";","border-bottom:"+d,"border-right:"+d,"background-color:"+i+";"];return'
'}function SM(r,t){var e="cubic-bezier(0.23,1,0.32,1)",i=" "+r/2+"s "+e,n="opacity"+i+",visibility"+i;return t||(i=" "+r+"s "+e,n+=$.transformSupported?","+qf+i:",left"+i+",top"+i),gM+":"+n}function wd(r,t,e){var i=r.toFixed(0)+"px",n=t.toFixed(0)+"px";if(!$.transformSupported)return e?"top:"+n+";left:"+i+";":[["top",n],["left",i]];var a=$.transform3dSupported,o="translate"+(a?"3d":"")+"("+i+","+n+(a?",0":"")+")";return e?"top:0;left:0;"+qf+":"+o+";":[["top",0],["left",0],[fm,o]]}function wM(r){var t=[],e=r.get("fontSize"),i=r.getTextColor();i&&t.push("color:"+i),t.push("font:"+r.getFont());var n=K(r.get("lineHeight"),Math.round(e*3/2));e&&t.push("line-height:"+n+"px");var a=r.get("textShadowColor"),o=r.get("textShadowBlur")||0,s=r.get("textShadowOffsetX")||0,l=r.get("textShadowOffsetY")||0;return a&&o&&t.push("text-shadow:"+s+"px "+l+"px "+o+"px "+a),A(["decoration","align"],function(u){var f=r.get(u);f&&t.push("text-"+u+":"+f)}),t.join(";")}function bM(r,t,e){var i=[],n=r.get("transitionDuration"),a=r.get("backgroundColor"),o=r.get("shadowBlur"),s=r.get("shadowColor"),l=r.get("shadowOffsetX"),u=r.get("shadowOffsetY"),f=r.getModel("textStyle"),h=Pg(r,"html"),c=l+"px "+u+"px "+o+"px "+s;return i.push("box-shadow:"+c),t&&n&&i.push(SM(n,e)),a&&i.push("background-color:"+a),A(["width","color","radius"],function(v){var d="border-"+v,g=ag(d),p=r.get(g);p!=null&&i.push(d+":"+p+(v==="color"?"":"px"))}),i.push(wM(f)),h!=null&&i.push("padding:"+as(h).join("px ")+"px"),i.join(";")+";"}function bd(r,t,e,i,n){var a=t&&t.painter;if(e){var o=a&&a.getViewportRoot();o&&Xm(r,o,e,i,n)}else{r[0]=i,r[1]=n;var s=a&&a.getViewportRootOffset();s&&(r[0]+=s.offsetLeft,r[1]+=s.offsetTop)}r[2]=r[0]/t.getWidth(),r[3]=r[1]/t.getHeight()}var xM=(function(){function r(t,e){if(this._show=!1,this._styleCoord=[0,0,0,0],this._enterable=!0,this._alwaysShowContent=!1,this._firstShow=!0,this._longHide=!0,$.wxa)return null;var i=document.createElement("div");i.domBelongToZr=!0,this.el=i;var n=this._zr=t.getZr(),a=e.appendTo,o=a&&(V(a)?document.querySelector(a):Bn(a)?a:q(a)&&a(t.getDom()));bd(this._styleCoord,n,o,t.getWidth()/2,t.getHeight()/2),(o||t.getDom()).appendChild(i),this._api=t,this._container=o;var s=this;i.onmouseenter=function(){s._enterable&&(clearTimeout(s._hideTimeout),s._show=!0),s._inContent=!0},i.onmousemove=function(l){if(l=l||window.event,!s._enterable){var u=n.handler,f=n.painter.getViewportRoot();ie(f,l,!0),u.dispatch("mousemove",l)}},i.onmouseleave=function(){s._inContent=!1,s._enterable&&s._show&&s.hideLater(s._hideDelay)}}return r.prototype.update=function(t){if(!this._container){var e=this._api.getDom(),i=pM(e,"position"),n=e.style;n.position!=="absolute"&&i!=="absolute"&&(n.position="relative")}var a=t.get("alwaysShowContent");a&&this._moveIfResized(),this._alwaysShowContent=a,this.el.className=t.get("className")||""},r.prototype.show=function(t,e){clearTimeout(this._hideTimeout),clearTimeout(this._longHideTimeout);var i=this.el,n=i.style,a=this._styleCoord;i.innerHTML?n.cssText=yM+bM(t,!this._firstShow,this._longHide)+wd(a[0],a[1],!0)+("border-color:"+ei(e)+";")+(t.get("extraCssText")||"")+(";pointer-events:"+(this._enterable?"auto":"none")):n.display="none",this._show=!0,this._firstShow=!1,this._longHide=!1},r.prototype.setContent=function(t,e,i,n,a){var o=this.el;if(t==null){o.innerHTML="";return}var s="";if(V(a)&&i.get("trigger")==="item"&&!lm(i)&&(s=_M(i,n,a)),V(t))o.innerHTML=t+s;else if(t){o.innerHTML="",z(t)||(t=[t]);for(var l=0;l=0?this._tryShow(a,o):n==="leave"&&this._hide(o))},this))},t.prototype._keepShow=function(){var e=this._tooltipModel,i=this._ecModel,n=this._api,a=e.get("triggerOn");if(this._lastX!=null&&this._lastY!=null&&a!=="none"&&a!=="click"){var o=this;clearTimeout(this._refreshUpdateTimeout),this._refreshUpdateTimeout=setTimeout(function(){!n.isDisposed()&&o.manuallyShowTip(e,i,n,{x:o._lastX,y:o._lastY,dataByCoordSys:o._lastDataByCoordSys})})}},t.prototype.manuallyShowTip=function(e,i,n,a){if(!(a.from===this.uid||$.node||!n.getDom())){var o=Cd(a,n);this._ticket="";var s=a.dataByCoordSys,l=IM(a,i,n);if(l){var u=l.el.getBoundingRect().clone();u.applyTransform(l.el.transform),this._tryShow({offsetX:u.x+u.width/2,offsetY:u.y+u.height/2,target:l.el,position:a.position,positionDefault:"bottom"},o)}else if(a.tooltip&&a.x!=null&&a.y!=null){var f=CM;f.x=a.x,f.y=a.y,f.update(),it(f).tooltipConfig={name:null,option:a.tooltip},this._tryShow({offsetX:a.x,offsetY:a.y,target:f},o)}else if(s)this._tryShow({offsetX:a.x,offsetY:a.y,position:a.position,dataByCoordSys:s,tooltipOption:a.tooltipOption},o);else if(a.seriesIndex!=null){if(this._manuallyAxisShowTip(e,i,n,a))return;var h=om(a,i),c=h.point[0],v=h.point[1];c!=null&&v!=null&&this._tryShow({offsetX:c,offsetY:v,target:h.el,position:a.position,positionDefault:"bottom"},o)}else a.x!=null&&a.y!=null&&(n.dispatchAction({type:"updateAxisPointer",x:a.x,y:a.y}),this._tryShow({offsetX:a.x,offsetY:a.y,position:a.position,target:n.getZr().findHover(a.x,a.y).target},o))}},t.prototype.manuallyHideTip=function(e,i,n,a){var o=this._tooltipContent;this._tooltipModel&&o.hideLater(this._tooltipModel.get("hideDelay")),this._lastX=this._lastY=this._lastDataByCoordSys=null,a.from!==this.uid&&this._hide(Cd(a,n))},t.prototype._manuallyAxisShowTip=function(e,i,n,a){var o=a.seriesIndex,s=a.dataIndex,l=i.getComponent("axisPointer").coordSysAxesInfo;if(!(o==null||s==null||l==null)){var u=i.getSeriesByIndex(o);if(u){var f=u.getData(),h=hn([f.getItemModel(s),u,(u.coordinateSystem||{}).model],this._tooltipModel);if(h.get("trigger")==="axis")return n.dispatchAction({type:"updateAxisPointer",seriesIndex:o,dataIndex:s,position:a.position}),!0}}},t.prototype._tryShow=function(e,i){var n=e.target,a=this._tooltipModel;if(a){this._lastX=e.offsetX,this._lastY=e.offsetY;var o=e.dataByCoordSys;if(o&&o.length)this._showAxisTooltip(o,e);else if(n){var s=it(n);if(s.ssrType==="legend")return;this._lastDataByCoordSys=null;var l,u;_n(n,function(f){if(it(f).dataIndex!=null)return l=f,!0;if(it(f).tooltipConfig!=null)return u=f,!0},!0),l?this._showSeriesItemTooltip(e,l,i):u?this._showComponentItemTooltip(e,u,i):this._hide(i)}else this._lastDataByCoordSys=null,this._hide(i)}},t.prototype._showOrMove=function(e,i){var n=e.get("showDelay");i=vt(i,this),clearTimeout(this._showTimout),n>0?this._showTimout=setTimeout(i,n):i()},t.prototype._showAxisTooltip=function(e,i){var n=this._ecModel,a=this._tooltipModel,o=[i.offsetX,i.offsetY],s=hn([i.tooltipOption],a),l=this._renderMode,u=[],f=$n("section",{blocks:[],noHeader:!0}),h=[],c=new ll;A(e,function(m){A(m.dataByAxis,function(_){var S=n.getComponent(_.axisDim+"Axis",_.axisIndex),b=_.value;if(!(!S||b==null)){var w=im(b,S.axis,n,_.seriesDataIndices,_.valueLabelOpt),x=$n("section",{header:w,noHeader:!Pe(w),sortBlocks:!0,blocks:[]});f.blocks.push(x),A(_.seriesDataIndices,function(T){var C=n.getSeriesByIndex(T.seriesIndex),M=T.dataIndexInside,D=C.getDataParams(M);if(!(D.dataIndex<0)){D.axisDim=_.axisDim,D.axisIndex=_.axisIndex,D.axisType=_.axisType,D.axisId=_.axisId,D.axisValue=Vf(S.axis,{value:b}),D.axisValueLabel=w,D.marker=c.makeTooltipMarker("item",ei(D.color),l);var L=zv(C.formatTooltip(M,!0,null)),I=L.frag;if(I){var P=hn([C],a).get("valueFormatter");x.blocks.push(P?B({valueFormatter:P},I):I)}L.text&&h.push(L.text),u.push(D)}})}})}),f.blocks.reverse(),h.reverse();var v=i.position,d=s.get("order"),g=Uv(f,c,l,d,n.get("useUTC"),s.get("textStyle"));g&&h.unshift(g);var p=l==="richText"?` + +`:"
",y=h.join(p);this._showOrMove(s,function(){this._updateContentNotChangedOnAxis(e,u)?this._updatePosition(s,v,o[0],o[1],this._tooltipContent,u):this._showTooltipContent(s,y,u,Math.random()+"",o[0],o[1],v,null,c)})},t.prototype._showSeriesItemTooltip=function(e,i,n){var a=this._ecModel,o=it(i),s=o.seriesIndex,l=a.getSeriesByIndex(s),u=o.dataModel||l,f=o.dataIndex,h=o.dataType,c=u.getData(h),v=this._renderMode,d=e.positionDefault,g=hn([c.getItemModel(f),u,l&&(l.coordinateSystem||{}).model],this._tooltipModel,d?{position:d}:null),p=g.get("trigger");if(!(p!=null&&p!=="item")){var y=u.getDataParams(f,h),m=new ll;y.marker=m.makeTooltipMarker("item",ei(y.color),v);var _=zv(u.formatTooltip(f,!1,h)),S=g.get("order"),b=g.get("valueFormatter"),w=_.frag,x=w?Uv(b?B({valueFormatter:b},w):w,m,v,S,a.get("useUTC"),g.get("textStyle")):_.text,T="item_"+u.name+"_"+f;this._showOrMove(g,function(){this._showTooltipContent(g,x,y,T,e.offsetX,e.offsetY,e.position,e.target,m)}),n({type:"showTip",dataIndexInside:f,dataIndex:c.getRawIndex(f),seriesIndex:s,from:this.uid})}},t.prototype._showComponentItemTooltip=function(e,i,n){var a=this._renderMode==="html",o=it(i),s=o.tooltipConfig,l=s.option||{},u=l.encodeHTMLContent;if(V(l)){var f=l;l={content:f,formatter:f},u=!0}u&&a&&l.content&&(l=tt(l),l.content=Vt(l.content));var h=[l],c=this._ecModel.getComponent(o.componentMainType,o.componentIndex);c&&h.push(c),h.push({formatter:l.content});var v=e.positionDefault,d=hn(h,this._tooltipModel,v?{position:v}:null),g=d.get("content"),p=Math.random()+"",y=new ll;this._showOrMove(d,function(){var m=tt(d.get("formatterParams")||{});this._showTooltipContent(d,g,m,p,e.offsetX,e.offsetY,e.position,i,y)}),n({type:"showTip",from:this.uid})},t.prototype._showTooltipContent=function(e,i,n,a,o,s,l,u,f){if(this._ticket="",!(!e.get("showContent")||!e.get("show"))){var h=this._tooltipContent;h.setEnterable(e.get("enterable"));var c=e.get("formatter");l=l||e.get("position");var v=i,d=this._getNearestPoint([o,s],n,e.get("trigger"),e.get("borderColor")),g=d.color;if(c)if(V(c)){var p=e.ecModel.get("useUTC"),y=z(n)?n[0]:n,m=y&&y.axisType&&y.axisType.indexOf("time")>=0;v=c,m&&(v=ts(y.axisValue,v,p)),v=og(v,n,!0)}else if(q(c)){var _=vt(function(S,b){S===this._ticket&&(h.setContent(b,f,e,g,l),this._updatePosition(e,l,o,s,h,n,u))},this);this._ticket=a,v=c(n,a,_)}else v=c;h.setContent(v,f,e,g,l),h.show(e,g),this._updatePosition(e,l,o,s,h,n,u)}},t.prototype._getNearestPoint=function(e,i,n,a){if(n==="axis"||z(i))return{color:a||(this._renderMode==="html"?"#fff":"none")};if(!z(i))return{color:a||i.color||i.borderColor}},t.prototype._updatePosition=function(e,i,n,a,o,s,l){var u=this._api.getWidth(),f=this._api.getHeight();i=i||e.get("position");var h=o.getSize(),c=e.get("align"),v=e.get("verticalAlign"),d=l&&l.getBoundingRect().clone();if(l&&d.applyTransform(l.transform),q(i)&&(i=i([n,a],s,o.el,d,{viewSize:[u,f],contentSize:h.slice()})),z(i))n=ct(i[0],u),a=ct(i[1],f);else if(Y(i)){var g=i;g.width=h[0],g.height=h[1];var p=Un(g,{width:u,height:f});n=p.x,a=p.y,c=null,v=null}else if(V(i)&&l){var y=LM(i,d,h,e.get("borderWidth"));n=y[0],a=y[1]}else{var y=MM(n,a,o,u,f,c?null:20,v?null:20);n=y[0],a=y[1]}if(c&&(n-=Dd(c)?h[0]/2:c==="right"?h[0]:0),v&&(a-=Dd(v)?h[1]/2:v==="bottom"?h[1]:0),lm(e)){var y=AM(n,a,o,u,f);n=y[0],a=y[1]}o.moveTo(n,a)},t.prototype._updateContentNotChangedOnAxis=function(e,i){var n=this._lastDataByCoordSys,a=this._cbParamsList,o=!!n&&n.length===e.length;return o&&A(n,function(s,l){var u=s.dataByAxis||[],f=e[l]||{},h=f.dataByAxis||[];o=o&&u.length===h.length,o&&A(u,function(c,v){var d=h[v]||{},g=c.seriesDataIndices||[],p=d.seriesDataIndices||[];o=o&&c.value===d.value&&c.axisType===d.axisType&&c.axisId===d.axisId&&g.length===p.length,o&&A(g,function(y,m){var _=p[m];o=o&&y.seriesIndex===_.seriesIndex&&y.dataIndex===_.dataIndex}),a&&A(c.seriesDataIndices,function(y){var m=y.seriesIndex,_=i[m],S=a[m];_&&S&&S.data!==_.data&&(o=!1)})})}),this._lastDataByCoordSys=e,this._cbParamsList=i,!!o},t.prototype._hide=function(e){this._lastDataByCoordSys=null,e({type:"hideTip",from:this.uid})},t.prototype.dispose=function(e,i){$.node||!i.getDom()||(mu(this,"_updatePosition"),this._tooltipContent.dispose(),Bu("itemTooltip",i))},t.type="tooltip",t})(ke);function hn(r,t,e){var i=t.ecModel,n;e?(n=new gt(e,i,i),n=new gt(t.option,n,i)):n=t;for(var a=r.length-1;a>=0;a--){var o=r[a];o&&(o instanceof gt&&(o=o.get("tooltip",!0)),V(o)&&(o={formatter:o}),o&&(n=new gt(o,n,i)))}return n}function Cd(r,t){return r.dispatchAction||vt(t.dispatchAction,t)}function MM(r,t,e,i,n,a,o){var s=e.getSize(),l=s[0],u=s[1];return a!=null&&(r+l+a+2>i?r-=l+a:r+=a),o!=null&&(t+u+o>n?t-=u+o:t+=o),[r,t]}function AM(r,t,e,i,n){var a=e.getSize(),o=a[0],s=a[1];return r=Math.min(r+o,i)-o,t=Math.min(t+s,n)-s,r=Math.max(r,0),t=Math.max(t,0),[r,t]}function LM(r,t,e,i){var n=e[0],a=e[1],o=Math.ceil(Math.SQRT2*i)+8,s=0,l=0,u=t.width,f=t.height;switch(r){case"inside":s=t.x+u/2-n/2,l=t.y+f/2-a/2;break;case"top":s=t.x+u/2-n/2,l=t.y-a-o;break;case"bottom":s=t.x+u/2-n/2,l=t.y+f+o;break;case"left":s=t.x-n-o,l=t.y+f/2-a/2;break;case"right":s=t.x+u+o,l=t.y+f/2-a/2}return[s,l]}function Dd(r){return r==="center"||r==="middle"}function IM(r,t,e){var i=rf(r).queryOptionMap,n=i.keys()[0];if(!(!n||n==="series")){var a=ea(t,n,i.get(n),{useDefault:!1,enableAll:!1,enableNone:!1}),o=a.models[0];if(o){var s=e.getViewOfComponentModel(o),l;if(s.group.traverse(function(u){var f=it(u).tooltipConfig;if(f&&f.name===r.name)return l=u,!0}),l)return{componentMainType:n,componentIndex:o.componentIndex,el:l}}}}function qM(r){ri(sm),r.registerComponentModel(cM),r.registerComponentView(DM),r.registerAction({type:"showTip",event:"showTip",update:"tooltip:manuallyShowTip"},Xt),r.registerAction({type:"hideTip",event:"hideTip",update:"tooltip:manuallyHideTip"},Xt)}var PM=function(r,t){if(t==="all")return{type:"all",title:r.getLocaleModel().get(["legend","selector","all"])};if(t==="inverse")return{type:"inverse",title:r.getLocaleModel().get(["legend","selector","inverse"])}},Nu=(function(r){N(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e.layoutMode={type:"box",ignoreSize:!0},e}return t.prototype.init=function(e,i,n){this.mergeDefaultAndTheme(e,n),e.selected=e.selected||{},this._updateSelector(e)},t.prototype.mergeOption=function(e,i){r.prototype.mergeOption.call(this,e,i),this._updateSelector(e)},t.prototype._updateSelector=function(e){var i=e.selector,n=this.ecModel;i===!0&&(i=e.selector=["all","inverse"]),z(i)&&A(i,function(a,o){V(a)&&(a={type:a}),i[o]=nt(a,PM(n,a.type))})},t.prototype.optionUpdated=function(){this._updateData(this.ecModel);var e=this._data;if(e[0]&&this.get("selectedMode")==="single"){for(var i=!1,n=0;n=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",top:0,align:"auto",backgroundColor:"rgba(0,0,0,0)",borderColor:"#ccc",borderRadius:0,borderWidth:0,padding:5,itemGap:10,itemWidth:25,itemHeight:14,symbolRotate:"inherit",symbolKeepAspect:!0,inactiveColor:"#ccc",inactiveBorderColor:"#ccc",inactiveBorderWidth:"auto",itemStyle:{color:"inherit",opacity:"inherit",borderColor:"inherit",borderWidth:"auto",borderCap:"inherit",borderJoin:"inherit",borderDashOffset:"inherit",borderMiterLimit:"inherit"},lineStyle:{width:"auto",color:"inherit",inactiveColor:"#ccc",inactiveWidth:2,opacity:"inherit",type:"inherit",cap:"inherit",join:"inherit",dashOffset:"inherit",miterLimit:"inherit"},textStyle:{color:"#333"},selectedMode:!0,selector:!1,selectorLabel:{show:!0,borderRadius:10,padding:[3,5,3,5],fontSize:12,fontFamily:"sans-serif",color:"#666",borderWidth:1,borderColor:"#666"},emphasis:{selectorLabel:{show:!0,color:"#eee",backgroundColor:"#666"}},selectorPosition:"auto",selectorItemGap:7,selectorButtonGap:10,tooltip:{show:!1}},t})(lt),_i=_t,Fu=A,Ya=Lt,vm=(function(r){N(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e.newlineDisabled=!1,e}return t.prototype.init=function(){this.group.add(this._contentGroup=new Ya),this.group.add(this._selectorGroup=new Ya),this._isFirstRender=!0},t.prototype.getContentGroup=function(){return this._contentGroup},t.prototype.getSelectorGroup=function(){return this._selectorGroup},t.prototype.render=function(e,i,n){var a=this._isFirstRender;if(this._isFirstRender=!1,this.resetInner(),!!e.get("show",!0)){var o=e.get("align"),s=e.get("orient");(!o||o==="auto")&&(o=e.get("left")==="right"&&s==="vertical"?"right":"left");var l=e.get("selector",!0),u=e.get("selectorPosition",!0);l&&(!u||u==="auto")&&(u=s==="horizontal"?"end":"start"),this.renderInner(o,e,i,n,l,s,u);var f=e.getBoxLayoutParams(),h={width:n.getWidth(),height:n.getHeight()},c=e.get("padding"),v=Un(f,h,c),d=this.layoutInner(e,o,v,a,l,u),g=Un(ot({width:d.width,height:d.height},f),h,c);this.group.x=g.x-d.x,this.group.y=g.y-d.y,this.group.markRedraw(),this.group.add(this._backgroundEl=vM(d,e))}},t.prototype.resetInner=function(){this.getContentGroup().removeAll(),this._backgroundEl&&this.group.remove(this._backgroundEl),this.getSelectorGroup().removeAll()},t.prototype.renderInner=function(e,i,n,a,o,s,l){var u=this.getContentGroup(),f=Q(),h=i.get("selectedMode"),c=[];n.eachRawSeries(function(v){!v.get("legendHoverLink")&&c.push(v.id)}),Fu(i.getData(),function(v,d){var g=v.get("name");if(!this.newlineDisabled&&(g===""||g===` +`)){var p=new Ya;p.newline=!0,u.add(p);return}var y=n.getSeriesByName(g)[0];if(!f.get(g))if(y){var m=y.getData(),_=m.getVisual("legendLineStyle")||{},S=m.getVisual("legendIcon"),b=m.getVisual("style"),w=this._createItem(y,g,d,v,i,e,_,b,S,h,a);w.on("click",_i(Md,g,null,a,c)).on("mouseover",_i(zu,y.name,null,a,c)).on("mouseout",_i(Gu,y.name,null,a,c)),n.ssr&&w.eachChild(function(x){var T=it(x);T.seriesIndex=y.seriesIndex,T.dataIndex=d,T.ssrType="legend"}),f.set(g,!0)}else n.eachRawSeries(function(x){if(!f.get(g)&&x.legendVisualProvider){var T=x.legendVisualProvider;if(!T.containName(g))return;var C=T.indexOfName(g),M=T.getItemVisual(C,"style"),D=T.getItemVisual(C,"legendIcon"),L=Xe(M.fill);L&&L[3]===0&&(L[3]=.2,M=B(B({},M),{fill:zo(L,"rgba")}));var I=this._createItem(x,g,d,v,i,e,{},M,D,h,a);I.on("click",_i(Md,null,g,a,c)).on("mouseover",_i(zu,null,g,a,c)).on("mouseout",_i(Gu,null,g,a,c)),n.ssr&&I.eachChild(function(P){var R=it(P);R.seriesIndex=x.seriesIndex,R.dataIndex=d,R.ssrType="legend"}),f.set(g,!0)}},this)},this),o&&this._createSelector(o,i,a,s,l)},t.prototype._createSelector=function(e,i,n,a,o){var s=this.getSelectorGroup();Fu(e,function(u){var f=u.type,h=new Nt({style:{x:0,y:0,align:"center",verticalAlign:"middle"},onclick:function(){n.dispatchAction({type:f==="all"?"legendAllSelect":"legendInverseSelect",legendId:i.id})}});s.add(h);var c=i.getModel("selectorLabel"),v=i.getModel(["emphasis","selectorLabel"]);na(h,{normal:c,emphasis:v},{defaultText:u.title}),su(h)})},t.prototype._createItem=function(e,i,n,a,o,s,l,u,f,h,c){var v=e.visualDrawType,d=o.get("itemWidth"),g=o.get("itemHeight"),p=o.isSelected(i),y=a.get("symbolRotate"),m=a.get("symbolKeepAspect"),_=a.get("icon");f=_||f||"roundRect";var S=RM(f,a,l,u,v,p,c),b=new Ya,w=a.getModel("textStyle");if(q(e.getLegendIcon)&&(!_||_==="inherit"))b.add(e.getLegendIcon({itemWidth:d,itemHeight:g,icon:f,iconRotate:y,itemStyle:S.itemStyle,lineStyle:S.lineStyle,symbolKeepAspect:m}));else{var x=_==="inherit"&&e.getData().getVisual("symbol")?y==="inherit"?e.getData().getVisual("symbolRotate"):y:0;b.add(EM({itemWidth:d,itemHeight:g,icon:f,iconRotate:x,itemStyle:S.itemStyle,symbolKeepAspect:m}))}var T=s==="left"?d+5:-5,C=s,M=o.get("formatter"),D=i;V(M)&&M?D=M.replace("{name}",i??""):q(M)&&(D=M(i));var L=p?w.getTextColor():a.get("inactiveColor");b.add(new Nt({style:Ei(w,{text:D,x:T,y:g/2,fill:L,align:C,verticalAlign:"middle"},{inheritColor:L})}));var I=new bt({shape:b.getBoundingRect(),style:{fill:"transparent"}}),P=a.getModel("tooltip");return P.get("show")&&qo({el:I,componentModel:o,itemName:i,itemTooltipOption:P.option}),b.add(I),b.eachChild(function(R){R.silent=!0}),I.silent=!h,this.getContentGroup().add(b),su(b),b.__legendDataIndex=n,b},t.prototype.layoutInner=function(e,i,n,a,o,s){var l=this.getContentGroup(),u=this.getSelectorGroup();Pn(e.get("orient"),l,e.get("itemGap"),n.width,n.height);var f=l.getBoundingRect(),h=[-f.x,-f.y];if(u.markRedraw(),l.markRedraw(),o){Pn("horizontal",u,e.get("selectorItemGap",!0));var c=u.getBoundingRect(),v=[-c.x,-c.y],d=e.get("selectorButtonGap",!0),g=e.getOrient().index,p=g===0?"width":"height",y=g===0?"height":"width",m=g===0?"y":"x";s==="end"?v[g]+=f[p]+d:h[g]+=c[p]+d,v[1-g]+=f[y]/2-c[y]/2,u.x=v[0],u.y=v[1],l.x=h[0],l.y=h[1];var _={x:0,y:0};return _[p]=f[p]+d+c[p],_[y]=Math.max(f[y],c[y]),_[m]=Math.min(0,c[m]+v[1-g]),_}else return l.x=h[0],l.y=h[1],this.group.getBoundingRect()},t.prototype.remove=function(){this.getContentGroup().removeAll(),this._isFirstRender=!0},t.type="legend.plain",t})(ke);function RM(r,t,e,i,n,a,o){function s(p,y){p.lineWidth==="auto"&&(p.lineWidth=y.lineWidth>0?2:0),Fu(p,function(m,_){p[_]==="inherit"&&(p[_]=y[_])})}var l=t.getModel("itemStyle"),u=l.getItemStyle(),f=r.lastIndexOf("empty",0)===0?"fill":"stroke",h=l.getShallow("decal");u.decal=!h||h==="inherit"?i.decal:xu(h,o),u.fill==="inherit"&&(u.fill=i[n]),u.stroke==="inherit"&&(u.stroke=i[f]),u.opacity==="inherit"&&(u.opacity=(n==="fill"?i:e).opacity),s(u,i);var c=t.getModel("lineStyle"),v=c.getLineStyle();if(s(v,e),u.fill==="auto"&&(u.fill=i.fill),u.stroke==="auto"&&(u.stroke=i.fill),v.stroke==="auto"&&(v.stroke=i.fill),!a){var d=t.get("inactiveBorderWidth"),g=u[f];u.lineWidth=d==="auto"?i.lineWidth>0&&g?2:0:u.lineWidth,u.fill=t.get("inactiveColor"),u.stroke=t.get("inactiveBorderColor"),v.stroke=c.get("inactiveColor"),v.lineWidth=c.get("inactiveWidth")}return{itemStyle:u,lineStyle:v}}function EM(r){var t=r.icon||"roundRect",e=Bi(t,0,0,r.itemWidth,r.itemHeight,r.itemStyle.fill,r.symbolKeepAspect);return e.setStyle(r.itemStyle),e.rotation=(r.iconRotate||0)*Math.PI/180,e.setOrigin([r.itemWidth/2,r.itemHeight/2]),t.indexOf("empty")>-1&&(e.style.stroke=e.style.fill,e.style.fill="#fff",e.style.lineWidth=2),e}function Md(r,t,e,i){Gu(r,t,e,i),e.dispatchAction({type:"legendToggleSelect",name:r??t}),zu(r,t,e,i)}function cm(r){for(var t=r.getZr().storage.getDisplayList(),e,i=0,n=t.length;in[o],p=[-v.x,-v.y];i||(p[a]=f[u]);var y=[0,0],m=[-d.x,-d.y],_=K(e.get("pageButtonGap",!0),e.get("itemGap",!0));if(g){var S=e.get("pageButtonPosition",!0);S==="end"?m[a]+=n[o]-d[o]:y[a]+=d[o]+_}m[1-a]+=v[s]/2-d[s]/2,f.setPosition(p),h.setPosition(y),c.setPosition(m);var b={x:0,y:0};if(b[o]=g?n[o]:v[o],b[s]=Math.max(v[s],d[s]),b[l]=Math.min(0,d[l]+m[1-a]),h.__rectSize=n[o],g){var w={x:0,y:0};w[o]=Math.max(n[o]-d[o]-_,0),w[s]=b[s],h.setClipPath(new bt({shape:w})),h.__rectSize=w[o]}else c.eachChild(function(T){T.attr({invisible:!0,silent:!0})});var x=this._getPageInfo(e);return x.pageIndex!=null&&Ft(f,{x:x.contentPosition[0],y:x.contentPosition[1]},g?e:null),this._updatePageInfoView(e,x),b},t.prototype._pageGo=function(e,i,n){var a=this._getPageInfo(i)[e];a!=null&&n.dispatchAction({type:"legendScroll",scrollDataIndex:a,legendId:i.id})},t.prototype._updatePageInfoView=function(e,i){var n=this._controllerGroup;A(["pagePrev","pageNext"],function(f){var h=f+"DataIndex",c=i[h]!=null,v=n.childOfName(f);v&&(v.setStyle("fill",c?e.get("pageIconColor",!0):e.get("pageIconInactiveColor",!0)),v.cursor=c?"pointer":"default")});var a=n.childOfName("pageText"),o=e.get("pageFormatter"),s=i.pageIndex,l=s!=null?s+1:0,u=i.pageCount;a&&o&&a.setStyle("text",V(o)?o.replace("{current}",l==null?"":l+"").replace("{total}",u==null?"":u+""):o({current:l,total:u}))},t.prototype._getPageInfo=function(e){var i=e.get("scrollDataIndex",!0),n=this.getContentGroup(),a=this._containerGroup.__rectSize,o=e.getOrient().index,s=Rl[o],l=El[o],u=this._findTargetItemIndex(i),f=n.children(),h=f[u],c=f.length,v=c?1:0,d={contentPosition:[n.x,n.y],pageCount:v,pageIndex:v-1,pagePrevDataIndex:null,pageNextDataIndex:null};if(!h)return d;var g=S(h);d.contentPosition[o]=-g.s;for(var p=u+1,y=g,m=g,_=null;p<=c;++p)_=S(f[p]),(!_&&m.e>y.s+a||_&&!b(_,y.s))&&(m.i>y.i?y=m:y=_,y&&(d.pageNextDataIndex==null&&(d.pageNextDataIndex=y.i),++d.pageCount)),m=_;for(var p=u-1,y=g,m=g,_=null;p>=-1;--p)_=S(f[p]),(!_||!b(m,_.s))&&y.i=x&&w.s<=x+a}},t.prototype._findTargetItemIndex=function(e){if(!this._showController)return 0;var i,n=this.getContentGroup(),a;return n.eachChild(function(o,s){var l=o.__legendDataIndex;a==null&&l!=null&&(a=s),l===e&&(i=s)}),i??a},t.type="legend.scroll",t})(vm);function FM(r){r.registerAction("legendScroll","legendscroll",function(t,e){var i=t.scrollDataIndex;i!=null&&e.eachComponent({mainType:"legend",subType:"scroll",query:t},function(n){n.setScrollDataIndex(i)})})}function zM(r){ri(dm),r.registerComponentModel(BM),r.registerComponentView(NM),FM(r)}function KM(r){ri(dm),ri(zM)}function Pd(r,t,e){var i=Fi.createCanvas(),n=t.getWidth(),a=t.getHeight(),o=i.style;return o&&(o.position="absolute",o.left="0",o.top="0",o.width=n+"px",o.height=a+"px",i.setAttribute("data-zr-dom-id",r)),i.width=n*e,i.height=a*e,i}var kl=(function(r){N(t,r);function t(e,i,n){var a=r.call(this)||this;a.motionBlur=!1,a.lastFrameAlpha=.7,a.dpr=1,a.virtual=!1,a.config={},a.incremental=!1,a.zlevel=0,a.maxRepaintRectCount=5,a.__dirty=!0,a.__firstTimePaint=!0,a.__used=!1,a.__drawIndex=0,a.__startIndex=0,a.__endIndex=0,a.__prevStartIndex=null,a.__prevEndIndex=null;var o;n=n||co,typeof e=="string"?o=Pd(e,i,n):Y(e)&&(o=e,e=o.id),a.id=e,a.dom=o;var s=o.style;return s&&(zd(o),o.onselectstart=function(){return!1},s.padding="0",s.margin="0",s.borderWidth="0"),a.painter=i,a.dpr=n,a}return t.prototype.getElementCount=function(){return this.__endIndex-this.__startIndex},t.prototype.afterBrush=function(){this.__prevStartIndex=this.__startIndex,this.__prevEndIndex=this.__endIndex},t.prototype.initContext=function(){this.ctx=this.dom.getContext("2d"),this.ctx.dpr=this.dpr},t.prototype.setUnpainted=function(){this.__firstTimePaint=!0},t.prototype.createBackBuffer=function(){var e=this.dpr;this.domBack=Pd("back-"+this.id,this.painter,e),this.ctxBack=this.domBack.getContext("2d"),e!==1&&this.ctxBack.scale(e,e)},t.prototype.createRepaintRects=function(e,i,n,a){if(this.__firstTimePaint)return this.__firstTimePaint=!1,null;var o=[],s=this.maxRepaintRectCount,l=!1,u=new at(0,0,0,0);function f(m){if(!(!m.isFinite()||m.isZero()))if(o.length===0){var _=new at(0,0,0,0);_.copy(m),o.push(_)}else{for(var S=!1,b=1/0,w=0,x=0;x=s)}}for(var h=this.__startIndex;h15)break}}P.prevElClipPaths&&y.restore()};if(m)if(m.length===0)T=p.__endIndex;else for(var M=v.dpr,D=0;D0&&t>n[0]){for(l=0;lt);l++);s=i[n[l]]}if(n.splice(l+1,0,t),i[t]=e,!e.virtual)if(s){var u=s.dom;u.nextSibling?o.insertBefore(e.dom,u.nextSibling):o.appendChild(e.dom)}else o.firstChild?o.insertBefore(e.dom,o.firstChild):o.appendChild(e.dom);e.painter||(e.painter=this)}},r.prototype.eachLayer=function(t,e){for(var i=this._zlevelList,n=0;n0?Xa:0),this._needsManuallyCompositing),f.__builtin__||Uu("ZLevel "+u+" has been used by unkown layer "+f.id),f!==a&&(f.__used=!0,f.__startIndex!==l&&(f.__dirty=!0),f.__startIndex=l,f.incremental?f.__drawIndex=-1:f.__drawIndex=l,e(l),a=f),n.__dirty&Qt&&!n.__inHover&&(f.__dirty=!0,f.incremental&&f.__drawIndex<0&&(f.__drawIndex=l))}e(l),this.eachBuiltinLayer(function(h,c){!h.__used&&h.getElementCount()>0&&(h.__dirty=!0,h.__startIndex=h.__endIndex=h.__drawIndex=0),h.__dirty&&h.__drawIndex<0&&(h.__drawIndex=h.__startIndex)})},r.prototype.clear=function(){return this.eachBuiltinLayer(this._clearLayer),this},r.prototype._clearLayer=function(t){t.clear()},r.prototype.setBackgroundColor=function(t){this._backgroundColor=t,A(this._layers,function(e){e.setUnpainted()})},r.prototype.configLayer=function(t,e){if(e){var i=this._layerConfig;i[t]?nt(i[t],e,!0):i[t]=e;for(var n=0;n:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-line>:not(:last-child)){border-color:var(--border)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:8px}.rounded-md{border-radius:6px}.rounded-sm{border-radius:4px}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-brand,.border-brand\/30{border-color:var(--brand)}@supports (color:color-mix(in lab,red,red)){.border-brand\/30{border-color:color-mix(in oklab,var(--brand) 30%,transparent)}}.border-ink-1{border-color:var(--text-1)}.border-line{border-color:var(--border)}.border-transparent{border-color:#0000}.border-warning{border-color:var(--warning)}.bg-bg,.bg-bg\/90{background-color:var(--bg)}@supports (color:color-mix(in lab,red,red)){.bg-bg\/90{background-color:color-mix(in oklab,var(--bg) 90%,transparent)}}.bg-black\/45{background-color:#00000073}@supports (color:color-mix(in lab,red,red)){.bg-black\/45{background-color:color-mix(in oklab,var(--color-black) 45%,transparent)}}.bg-brand{background-color:var(--brand)}.bg-brand-subtle,.bg-brand-subtle\/40{background-color:var(--brand-subtle)}@supports (color:color-mix(in lab,red,red)){.bg-brand-subtle\/40{background-color:color-mix(in oklab,var(--brand-subtle) 40%,transparent)}}.bg-danger{background-color:var(--danger)}.bg-line{background-color:var(--border)}.bg-success-subtle{background-color:var(--success-subtle)}.bg-surface{background-color:var(--surface)}.bg-surface-2{background-color:var(--surface-2)}.bg-surface-3{background-color:var(--surface-3)}.bg-transparent{background-color:#0000}.bg-warning-subtle{background-color:var(--warning-subtle)}.bg-gradient-to-t{--tw-gradient-position:to top in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-black\/60{--tw-gradient-from:#0009}@supports (color:color-mix(in lab,red,red)){.from-black\/60{--tw-gradient-from:color-mix(in oklab, var(--color-black) 60%, transparent)}}.from-black\/60{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-transparent{--tw-gradient-to:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.object-cover{object-fit:cover}.p-0{padding:0}.p-0\.5{padding:calc(var(--spacing) * .5)}.p-2\.5{padding:calc(var(--spacing) * 2.5)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-6{padding:calc(var(--spacing) * 6)}.px-1{padding-inline:var(--spacing)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:var(--spacing)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-3\.5{padding-block:calc(var(--spacing) * 3.5)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-5{padding-block:calc(var(--spacing) * 5)}.py-10{padding-block:calc(var(--spacing) * 10)}.py-16{padding-block:calc(var(--spacing) * 16)}.py-px{padding-block:1px}.pt-0\.5{padding-top:calc(var(--spacing) * .5)}.pt-1{padding-top:var(--spacing)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pt-\[8vh\]{padding-top:8vh}.pr-7{padding-right:calc(var(--spacing) * 7)}.pb-1{padding-bottom:var(--spacing)}.pb-1\.5{padding-bottom:calc(var(--spacing) * 1.5)}.pb-5{padding-bottom:calc(var(--spacing) * 5)}.pl-2\.5{padding-left:calc(var(--spacing) * 2.5)}.pl-6{padding-left:calc(var(--spacing) * 6)}.pl-8{padding-left:calc(var(--spacing) * 8)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.align-middle{vertical-align:middle}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-\[10px\]{font-size:10px}.text-\[11\.5px\]{font-size:11.5px}.text-\[11px\]{font-size:11px}.text-\[12\.5px\]{font-size:12.5px}.text-\[12px\]{font-size:12px}.text-\[13\.5px\]{font-size:13.5px}.text-\[13px\]{font-size:13px}.text-\[14px\]{font-size:14px}.text-\[15px\]{font-size:15px}.text-\[16px\]{font-size:16px}.text-\[18px\]{font-size:18px}.text-\[22px\]{font-size:22px}.leading-\[18px\]{--tw-leading:18px;line-height:18px}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[0\.2em\]{--tw-tracking:.2em;letter-spacing:.2em}.tracking-\[0\.18em\]{--tw-tracking:.18em;letter-spacing:.18em}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-brand{color:var(--brand)}.text-brand-text{color:var(--brand-text)}.text-danger{color:var(--danger)}.text-ink-1{color:var(--text-1)}.text-ink-2{color:var(--text-2)}.text-ink-3{color:var(--text-3)}.text-success{color:var(--success)}.text-warning{color:var(--warning)}.text-white{color:var(--color-white)}.opacity-0{opacity:0}.shadow-card{--tw-shadow:0 1px 2px var(--tw-shadow-color,#1018280a), 0 1px 3px var(--tw-shadow-color,#1018280d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-pop{--tw-shadow:0 12px 32px var(--tw-shadow-color,#10182829), 0 2px 8px var(--tw-shadow-color,#10182814);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-blur{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}@media(hover:hover){.group-hover\:scale-\[1\.04\]:is(:where(.group):hover *){scale:1.04}.group-hover\:text-brand-text:is(:where(.group):hover *){color:var(--brand-text)}.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}}.placeholder\:text-ink-3::placeholder{color:var(--text-3)}.focus-within\:border-brand:focus-within{border-color:var(--brand)}@media(hover:hover){.hover\:scale-105:hover{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x) var(--tw-scale-y)}.hover\:border-line:hover{border-color:var(--border)}.hover\:border-line-strong:hover{border-color:var(--border-strong)}.hover\:bg-brand-hover:hover{background-color:var(--brand-hover)}.hover\:bg-danger-subtle:hover{background-color:var(--danger-subtle)}.hover\:bg-surface-2:hover{background-color:var(--surface-2)}.hover\:bg-surface-3:hover{background-color:var(--surface-3)}.hover\:text-brand-text:hover{color:var(--brand-text)}.hover\:text-danger:hover{color:var(--danger)}.hover\:text-ink-1:hover{color:var(--text-1)}.hover\:underline:hover{text-decoration-line:underline}.hover\:shadow-pop:hover{--tw-shadow:0 12px 32px var(--tw-shadow-color,#10182829), 0 2px 8px var(--tw-shadow-color,#10182814);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\:brightness-110:hover{--tw-brightness:brightness(110%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.hover\:brightness-\[0\.97\]:hover{--tw-brightness:brightness(.97);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}.focus\:border-brand:focus{border-color:var(--brand)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-45:disabled{opacity:.45}.disabled\:opacity-50:disabled{opacity:.5}@media not all and (min-width:64rem){.max-lg\:fixed{position:fixed}.max-lg\:inset-y-0{inset-block:0}.max-lg\:left-0{left:0}.max-lg\:z-40{z-index:40}.max-lg\:-translate-x-full{--tw-translate-x:-100%;translate:var(--tw-translate-x) var(--tw-translate-y)}.max-lg\:translate-x-0{--tw-translate-x:0px;translate:var(--tw-translate-x) var(--tw-translate-y)}.max-lg\:transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}@media(min-width:40rem){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:grid-cols-\[1fr_130px_120px_1fr_28px\]{grid-template-columns:1fr 130px 120px 1fr 28px}.sm\:grid-cols-\[200px_1fr\]{grid-template-columns:200px 1fr}}@media(min-width:64rem){.lg\:hidden{display:none}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}}:root{--bg:#f4f5f7;--surface:#fff;--surface-2:#f9fafb;--surface-3:#eff1f4;--border:#e5e8ec;--border-strong:#ccd3dc;--text-1:#15181d;--text-2:#454e5c;--text-3:#7e8798;--brand:#3056d3;--brand-hover:#2748b8;--brand-subtle:#eef2ff;--brand-text:#2748b8;--success:#15803d;--success-subtle:#ecfdf3;--warning:#b45309;--warning-subtle:#fffaeb;--danger:#dc2626;--danger-subtle:#fef3f2}.dark{--bg:#0e1013;--surface:#15181e;--surface-2:#1a1e25;--surface-3:#22272f;--border:#262c35;--border-strong:#3a424f;--text-1:#e8ebf1;--text-2:#a2abb9;--text-3:#6d7684;--brand:#7c93f5;--brand-hover:#94a8f8;--brand-subtle:#1c2340;--brand-text:#a3b4f8;--success:#4ade80;--success-subtle:#12251a;--warning:#fbbf24;--warning-subtle:#2a2213;--danger:#f87171;--danger-subtle:#2c1618}html,body,#root{height:100%}body{background:var(--bg);color:var(--text-1);letter-spacing:.005em;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-family:system-ui,Segoe UI Variable Text,Segoe UI,Microsoft YaHei UI,Microsoft YaHei,PingFang SC,sans-serif;font-size:14px;line-height:1.55}h1,h2,h3{letter-spacing:-.01em;text-wrap:balance}.num{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}::selection{background:var(--brand)}@supports (color:color-mix(in lab,red,red)){::selection{background:color-mix(in srgb,var(--brand) 22%,transparent)}}*{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-3)}::-webkit-scrollbar-track{background:0 0}:focus-visible{outline:2px solid var(--brand)}@supports (color:color-mix(in lab,red,red)){:focus-visible{outline:2px solid color-mix(in srgb,var(--brand) 55%,transparent)}}:focus-visible{outline-offset:1px}.animate-in{animation:.18s ease-out fp-fade-slide-in}@keyframes fp-fade-slide-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@keyframes pulse{50%{opacity:.5}} diff --git a/sync-server/www/assets/index-BunBoxtn.js b/sync-server/www/assets/index-BunBoxtn.js new file mode 100644 index 0000000..a63f611 --- /dev/null +++ b/sync-server/www/assets/index-BunBoxtn.js @@ -0,0 +1,296 @@ +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/DashboardPage-6WjCreWK.js","assets/card-CgBa5fs5.js","assets/useChart-CwGNJ-9_.js","assets/echarts-BIWefrIc.js","assets/GradesPage-F7CyPrhz.js","assets/TypesPage-CxfVqKEr.js","assets/TaxonomyPage-B15FwZVO.js"])))=>i.map(i=>d[i]); +var v0=n=>{throw TypeError(n)};var Bf=(n,r,s)=>r.has(n)||v0("Cannot "+s);var E=(n,r,s)=>(Bf(n,r,"read from private field"),s?s.call(n):r.get(n)),fe=(n,r,s)=>r.has(n)?v0("Cannot add the same private member more than once"):r instanceof WeakSet?r.add(n):r.set(n,s),W=(n,r,s,c)=>(Bf(n,r,"write to private field"),c?c.call(n,s):r.set(n,s),s),Ee=(n,r,s)=>(Bf(n,r,"access private method"),s);var Ls=(n,r,s,c)=>({set _(f){W(n,r,f,s)},get _(){return E(n,r,c)}});(function(){const r=document.createElement("link").relList;if(r&&r.supports&&r.supports("modulepreload"))return;for(const f of document.querySelectorAll('link[rel="modulepreload"]'))c(f);new MutationObserver(f=>{for(const h of f)if(h.type==="childList")for(const d of h.addedNodes)d.tagName==="LINK"&&d.rel==="modulepreload"&&c(d)}).observe(document,{childList:!0,subtree:!0});function s(f){const h={};return f.integrity&&(h.integrity=f.integrity),f.referrerPolicy&&(h.referrerPolicy=f.referrerPolicy),f.crossOrigin==="use-credentials"?h.credentials="include":f.crossOrigin==="anonymous"?h.credentials="omit":h.credentials="same-origin",h}function c(f){if(f.ep)return;f.ep=!0;const h=s(f);fetch(f.href,h)}})();function bg(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}var Qf={exports:{}},Zu={};/** + * @license React + * react-jsx-runtime.production.js + * + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var g0;function B2(){if(g0)return Zu;g0=1;var n=Symbol.for("react.transitional.element"),r=Symbol.for("react.fragment");function s(c,f,h){var d=null;if(h!==void 0&&(d=""+h),f.key!==void 0&&(d=""+f.key),"key"in f){h={};for(var v in f)v!=="key"&&(h[v]=f[v])}else h=f;return f=h.ref,{$$typeof:n,type:c,key:d,ref:f!==void 0?f:null,props:h}}return Zu.Fragment=r,Zu.jsx=s,Zu.jsxs=s,Zu}var p0;function Q2(){return p0||(p0=1,Qf.exports=B2()),Qf.exports}var y=Q2(),Gf={exports:{}},pe={};/** + * @license React + * react.production.js + * + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var b0;function G2(){if(b0)return pe;b0=1;var n=Symbol.for("react.transitional.element"),r=Symbol.for("react.portal"),s=Symbol.for("react.fragment"),c=Symbol.for("react.strict_mode"),f=Symbol.for("react.profiler"),h=Symbol.for("react.consumer"),d=Symbol.for("react.context"),v=Symbol.for("react.forward_ref"),b=Symbol.for("react.suspense"),g=Symbol.for("react.memo"),x=Symbol.for("react.lazy"),p=Symbol.for("react.activity"),z=Symbol.for("react.view_transition"),q=Symbol.iterator;function G(N){return N===null||typeof N!="object"?null:(N=q&&N[q]||N["@@iterator"],typeof N=="function"?N:null)}var L={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},U=Object.assign,Q={};function Y(N,B,te){this.props=N,this.context=B,this.refs=Q,this.updater=te||L}Y.prototype.isReactComponent={},Y.prototype.setState=function(N,B){if(typeof N!="object"&&typeof N!="function"&&N!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,N,B,"setState")},Y.prototype.forceUpdate=function(N){this.updater.enqueueForceUpdate(this,N,"forceUpdate")};function Z(){}Z.prototype=Y.prototype;function I(N,B,te){this.props=N,this.context=B,this.refs=Q,this.updater=te||L}var K=I.prototype=new Z;K.constructor=I,U(K,Y.prototype),K.isPureReactComponent=!0;var ce=Array.isArray;function X(){}var M={H:null,A:null,T:null,S:null},ae=Object.prototype.hasOwnProperty;function ge(N,B,te){var se=te.ref;return{$$typeof:n,type:N,key:B,ref:se!==void 0?se:null,props:te}}function P(N,B){return ge(N.type,B,N.props)}function he(N){return typeof N=="object"&&N!==null&&N.$$typeof===n}function Je(N){var B={"=":"=0",":":"=2"};return"$"+N.replace(/[=:]/g,function(te){return B[te]})}var D=/\/+/g;function ee(N,B){return typeof N=="object"&&N!==null&&N.key!=null?Je(""+N.key):B.toString(36)}function V(N){switch(N.status){case"fulfilled":return N.value;case"rejected":throw N.reason;default:switch(typeof N.status=="string"?N.then(X,X):(N.status="pending",N.then(function(B){N.status==="pending"&&(N.status="fulfilled",N.value=B)},function(B){N.status==="pending"&&(N.status="rejected",N.reason=B)})),N.status){case"fulfilled":return N.value;case"rejected":throw N.reason}}throw N}function $(N,B,te,se,ze){var me=typeof N;(me==="undefined"||me==="boolean")&&(N=null);var Ae=!1;if(N===null)Ae=!0;else switch(me){case"bigint":case"string":case"number":Ae=!0;break;case"object":switch(N.$$typeof){case n:case r:Ae=!0;break;case x:return Ae=N._init,$(Ae(N._payload),B,te,se,ze)}}if(Ae)return ze=ze(N),Ae=se===""?"."+ee(N,0):se,ce(ze)?(te="",Ae!=null&&(te=Ae.replace(D,"$&/")+"/"),$(ze,B,te,"",function(Qt){return Qt})):ze!=null&&(he(ze)&&(ze=P(ze,te+(ze.key==null||N&&N.key===ze.key?"":(""+ze.key).replace(D,"$&/")+"/")+Ae)),B.push(ze)),1;Ae=0;var ue=se===""?".":se+":";if(ce(N))for(var ye=0;ye>>1,J=V[Ue];if(0>>1;Uef(zl,de))Nf(B,zl)?(V[Ue]=B,V[N]=de,Ue=N):(V[Ue]=zl,V[al]=de,Ue=al);else if(Nf(B,de))V[Ue]=B,V[N]=de,Ue=N;else break e}}return $}function f(V,$){var de=V.sortIndex-$.sortIndex;return de!==0?de:V.id-$.id}if(n.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var h=performance;n.unstable_now=function(){return h.now()}}else{var d=Date,v=d.now();n.unstable_now=function(){return d.now()-v}}var b=[],g=[],x=1,p=null,z=3,q=!1,G=!1,L=!1,U=!1,Q=typeof setTimeout=="function"?setTimeout:null,Y=typeof clearTimeout=="function"?clearTimeout:null,Z=typeof setImmediate<"u"?setImmediate:null;function I(V){for(var $=s(g);$!==null;){if($.callback===null)c(g);else if($.startTime<=V)c(g),$.sortIndex=$.expirationTime,r(b,$);else break;$=s(g)}}function K(V){if(L=!1,I(V),!G)if(s(b)!==null)G=!0,ce||(ce=!0,he());else{var $=s(g);$!==null&&ee(K,$.startTime-V)}}var ce=!1,X=-1,M=5,ae=-1;function ge(){return U?!0:!(n.unstable_now()-aeV&&ge());){var Ue=p.callback;if(typeof Ue=="function"){p.callback=null,z=p.priorityLevel;var J=Ue(p.expirationTime<=V);if(V=n.unstable_now(),typeof J=="function"){p.callback=J,I(V),$=!0;break t}p===s(b)&&c(b),I(V)}else c(b);p=s(b)}if(p!==null)$=!0;else{var Dt=s(g);Dt!==null&&ee(K,Dt.startTime-V),$=!1}}break e}finally{p=null,z=de,q=!1}$=void 0}}finally{$?he():ce=!1}}}var he;if(typeof Z=="function")he=function(){Z(P)};else if(typeof MessageChannel<"u"){var Je=new MessageChannel,D=Je.port2;Je.port1.onmessage=P,he=function(){D.postMessage(null)}}else he=function(){Q(P,0)};function ee(V,$){X=Q(function(){V(n.unstable_now())},$)}n.unstable_IdlePriority=5,n.unstable_ImmediatePriority=1,n.unstable_LowPriority=4,n.unstable_NormalPriority=3,n.unstable_Profiling=null,n.unstable_UserBlockingPriority=2,n.unstable_cancelCallback=function(V){V.callback=null},n.unstable_forceFrameRate=function(V){0>V||125Ue?(V.sortIndex=de,r(g,V),s(b)===null&&V===s(g)&&(L?(Y(X),X=-1):L=!0,ee(K,de-Ue))):(V.sortIndex=J,r(b,V),G||q||(G=!0,ce||(ce=!0,he()))),V},n.unstable_shouldYield=ge,n.unstable_wrapCallback=function(V){var $=z;return function(){var de=z;z=$;try{return V.apply(this,arguments)}finally{z=de}}}})(Xf)),Xf}var E0;function X2(){return E0||(E0=1,Vf.exports=V2()),Vf.exports}var Kf={exports:{}},Et={};/** + * @license React + * react-dom.production.js + * + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var _0;function K2(){if(_0)return Et;_0=1;var n=Sd();function r(x){var p="https://react.dev/errors/"+x;if(1"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(r){console.error(r)}}return n(),Kf.exports=K2(),Kf.exports}/** + * @license React + * react-dom-client.production.js + * + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var N0;function Z2(){if(N0)return Ju;N0=1;var n=X2(),r=Sd(),s=xg();function c(e){var t="https://react.dev/errors/"+e;if(1Gn||(e.current=ma[Gn],ma[Gn]=null,Gn--)}function Xe(e,t){Gn++,ma[Gn]=e.current,e.current=t}var Rl=Ol(null),Ii=Ol(null),ya=Ol(null),cr=Ol(null);function or(e,t){switch(Xe(ya,t),Xe(Ii,e),Xe(Rl,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?Nv(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=Nv(t),e=Cv(t,e);else switch(e){case"svg":e=1;break;case"math":e=2;break;default:e=0}}yt(Rl),Xe(Rl,e)}function Yn(){yt(Rl),yt(Ii),yt(ya)}function nc(e){var t=e.memoizedState;t!==null&&(wi._currentValue=t.memoizedState,Xe(cr,e)),t=Rl.current;var l=Cv(t,e.type);t!==l&&(Xe(Ii,e),Xe(Rl,l))}function fr(e){Ii.current===e&&(yt(Rl),yt(Ii)),cr.current===e&&(yt(cr),wi._currentValue=Qt)}var ic,Kd;function va(e){if(ic===void 0)try{throw Error()}catch(l){var t=l.stack.trim().match(/\n( *(at )?)/);ic=t&&t[1]||"",Kd=-1)":-1i||S[a]!==R[i]){var j=` +`+S[a].replace(" at new "," at ");return e.displayName&&j.includes("")&&(j=j.replace("",e.displayName)),j}while(1<=a&&0<=i);break}}}finally{uc=!1,Error.prepareStackTrace=l}return(l=e?e.displayName||e.name:"")?va(l):""}function Vp(e,t){switch(e.tag){case 26:case 27:case 5:return va(e.type);case 16:return va("Lazy");case 13:return e.child!==t&&t!==null?va("Suspense Fallback"):va("Suspense");case 19:return va("SuspenseList");case 0:case 15:return rc(e.type,!1);case 11:return rc(e.type.render,!1);case 1:return rc(e.type,!0);case 31:return va("Activity");case 30:return va("ViewTransition");default:return""}}function Zd(e){try{var t="",l=null;do t+=Vp(e,l),l=e,e=e.return;while(e);return t}catch(a){return` +Error generating stack: `+a.message+` +`+a.stack}}var sc=Object.prototype.hasOwnProperty,cc=n.unstable_scheduleCallback,oc=n.unstable_cancelCallback,Xp=n.unstable_shouldYield,Kp=n.unstable_requestPaint,Gt=n.unstable_now,Zp=n.unstable_getCurrentPriorityLevel,Jd=n.unstable_ImmediatePriority,Fd=n.unstable_UserBlockingPriority,dr=n.unstable_NormalPriority,Jp=n.unstable_LowPriority,$d=n.unstable_IdlePriority,Fp=n.log,$p=n.unstable_setDisableYieldValue,eu=null,Yt=null;function ga(e){if(typeof Fp=="function"&&$p(e),Yt&&typeof Yt.setStrictMode=="function")try{Yt.setStrictMode(eu,e)}catch{}}var Vt=Math.clz32?Math.clz32:Ip,Wp=Math.log,Pp=Math.LN2;function Ip(e){return e>>>=0,e===0?32:31-(Wp(e)/Pp|0)|0}var hr=256,mr=262144,yr=4194304;function tn(e){var t=e&42;if(t!==0)return t;switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return e&-e;case 262144:case 524288:case 1048576:case 2097152:return e&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return e&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function vr(e,t,l){var a=e.pendingLanes;if(a===0)return 0;var i=0,u=e.suspendedLanes,o=e.pingedLanes;e=e.warmLanes;var m=a&134217727;return m!==0?(a=m&~u,a!==0?i=tn(a):(o&=m,o!==0?i=tn(o):l||(l=m&~e,l!==0&&(i=tn(l))))):(m=a&~u,m!==0?i=tn(m):o!==0?i=tn(o):l||(l=a&~e,l!==0&&(i=tn(l)))),i===0?0:t!==0&&t!==i&&(t&u)===0&&(u=i&-i,l=t&-t,u>=l||u===32&&(l&4194048)!==0)?t:i}function tu(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function Wd(e,t){(t&8)!==0&&(t|=t&32);var l=e.entangledLanes;if(l!==0)for(e=e.entanglements,l&=t;0l;l++)t.push(e);return t}function lu(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function t1(e,t,l,a,i,u){var o=e.pendingLanes;e.pendingLanes=l,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=l,e.entangledLanes&=l,e.errorRecoveryDisabledLanes&=l,e.shellSuspendCounter=0;var m=e.entanglements,S=e.expirationTimes,R=e.hiddenUpdates;for(l=o&~l;0"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Sc=!1;if(Fl)try{var uu={};Object.defineProperty(uu,"passive",{get:function(){Sc=!0}}),window.addEventListener("test",uu,uu),window.removeEventListener("test",uu,uu)}catch{Sc=!1}var pa=null,Ec=null,Er=null;function Sh(){if(Er)return Er;var e,t=Ec,l=t.length,a,i="value"in pa?pa.value:pa.textContent,u=i.length;for(e=0;e=cu),zh=" ",Oh=!1;function Rh(e,t){switch(e){case"keyup":return H1.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function wh(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var Pn=!1;function L1(e,t){switch(e){case"compositionend":return wh(t);case"keypress":return t.which!==32?null:(Oh=!0,zh);case"textInput":return e=t.data,e===zh&&Oh?null:e;default:return null}}function B1(e,t){if(Pn)return e==="compositionend"||!zc&&Rh(e,t)?(e=Sh(),Er=Ec=pa=null,Pn=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function qh(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function Lh(e,t){var l=qh(e);e=0;for(var a;l;){if(l.nodeType===3){if(a=e+l.textContent.length,e<=t&&a>=t)return{node:l,offset:t-e};e=a}e:{for(;l;){if(l.nextSibling){l=l.nextSibling;break e}l=l.parentNode}l=void 0}l=qh(l)}}function Bh(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?Bh(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Qh(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=wc(e.document);t instanceof e.HTMLIFrameElement;){try{var l=typeof t.contentWindow.location.href=="string"}catch{l=!1}if(l)e=t.contentWindow;else break;t=wc(e.document)}return t}function Ac(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}var J1=Fl&&"documentMode"in document&&11>=document.documentMode,In=null,jc=null,hu=null,Mc=!1;function Gh(e,t,l){var a=l.window===l?l.document:l.nodeType===9?l:l.ownerDocument;Mc||In==null||In!==wc(a)||(a=In,"selectionStart"in a&&Ac(a)?a={start:a.selectionStart,end:a.selectionEnd}:(a=(a.ownerDocument&&a.ownerDocument.defaultView||window).getSelection(),a={anchorNode:a.anchorNode,anchorOffset:a.anchorOffset,focusNode:a.focusNode,focusOffset:a.focusOffset}),hu&&du(hu,a)||(hu=a,a=zs(jc,"onSelect"),0>=o,i-=o,Al=1<<32-Vt(t)+i|l<ve?(ut=oe,oe=null):ut=oe.sibling;var je=C(O,oe,w[ve],k);if(je===null){oe===null&&(oe=ut);break}e&&oe&&je.alternate===null&&t(O,oe),_=u(je,_,ve),Re===null?le=je:Re.sibling=je,Re=je,oe=ut}if(ve===w.length)return l(O,oe),_e&&Il(O,ve),le;if(oe===null){for(;veve?(ut=oe,oe=null):ut=oe.sibling;var Ya=C(O,oe,je.value,k);if(Ya===null){oe===null&&(oe=ut);break}e&&oe&&Ya.alternate===null&&t(O,oe),_=u(Ya,_,ve),Re===null?le=Ya:Re.sibling=Ya,Re=Ya,oe=ut}if(je.done)return l(O,oe),_e&&Il(O,ve),le;if(oe===null){for(;!je.done;ve++,je=w.next())je=H(O,je.value,k),je!==null&&(_=u(je,_,ve),Re===null?le=je:Re.sibling=je,Re=je);return _e&&Il(O,ve),le}for(oe=a(oe);!je.done;ve++,je=w.next())je=A(oe,O,ve,je.value,k),je!==null&&(e&&(ut=je.alternate,ut!==null&&oe.delete(ut.key===null?ve:ut.key)),_=u(je,_,ve),Re===null?le=je:Re.sibling=je,Re=je);return e&&oe.forEach(function(L2){return t(O,L2)}),_e&&Il(O,ve),le}function Se(O,_,w,k){if(typeof w=="object"&&w!==null&&w.type===P&&w.key===null&&w.props.ref===void 0&&(w=w.props.children),typeof w=="object"&&w!==null){switch(w.$$typeof){case ae:e:{for(var le=w.key;_!==null;){if(_.key===le){if(le=w.type,le===P){if(_.tag===7){l(O,_.sibling),k=i(_,w.props.children),Ta(k,w),k.return=O,O=k;break e}}else if(_.elementType===le||typeof le=="object"&&le!==null&&le.$$typeof===J&&yn(le)===_.type){l(O,_.sibling),k=i(_,w.props),Ta(k,w),k.return=O,O=k;break e}l(O,_);break}else t(O,_);_=_.sibling}w.type===P?(k=sn(w.props.children,O.mode,k,w.key),Ta(k,w),k.return=O,O=k):(k=jr(w.type,w.key,w.props,null,O.mode,k),Ta(k,w),k.return=O,O=k)}return o(O);case ge:e:{for(le=w.key;_!==null;){if(_.key===le)if(_.tag===4&&_.stateNode.containerInfo===w.containerInfo&&_.stateNode.implementation===w.implementation){l(O,_.sibling),k=i(_,w.children||[]),k.return=O,O=k;break e}else{l(O,_);break}else t(O,_);_=_.sibling}k=Bc(w,O.mode,k),k.return=O,O=k}return o(O);case J:return w=yn(w),Se(O,_,w,k)}if(Ae(w))return F(O,_,w,k);if(se(w)){if(le=se(w),typeof le!="function")throw Error(c(150));return w=le.call(w),re(O,_,w,k)}if(typeof w.then=="function")return Se(O,_,Gr(w),k);if(w.$$typeof===ee)return Se(O,_,qr(O,w),k);Yr(O,w)}return typeof w=="string"&&w!==""||typeof w=="number"||typeof w=="bigint"?(w=""+w,_!==null&&_.tag===6?(l(O,_.sibling),k=i(_,w),k.return=O,O=k):(l(O,_),k=Lc(w,O.mode,k),k.return=O,O=k),o(O)):l(O,_)}return function(O,_,w,k){try{bu=0;var le=Se(O,_,w,k);return si=null,le}catch(oe){if(oe===ri||oe===Br)throw oe;var Re=kt(29,oe,null,O.mode);return Re.lanes=k,Re.return=O,Re}finally{}}}var gn=dm(!0),hm=dm(!1),Na=!1;function $c(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function Wc(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function Ca(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function za(e,t,l){var a=e.updateQueue;if(a===null)return null;if(a=a.shared,(ke&2)!==0){var i=a.pending;return i===null?t.next=t:(t.next=i.next,i.next=t),a.pending=t,t=Ar(e),$h(e,null,l),t}return wr(e,a,t,l),Ar(e)}function xu(e,t,l){if(t=t.updateQueue,t!==null&&(t=t.shared,(l&4194048)!==0)){var a=t.lanes;a&=e.pendingLanes,l|=a,t.lanes=l,eh(e,l)}}function Pc(e,t){var l=e.updateQueue,a=e.alternate;if(a!==null&&(a=a.updateQueue,l===a)){var i=null,u=null;if(l=l.firstBaseUpdate,l!==null){do{var o={lane:l.lane,tag:l.tag,payload:l.payload,callback:null,next:null};u===null?i=u=o:u=u.next=o,l=l.next}while(l!==null);u===null?i=u=t:u=u.next=t}else i=u=t;l={baseState:a.baseState,firstBaseUpdate:i,lastBaseUpdate:u,shared:a.shared,callbacks:a.callbacks},e.updateQueue=l;return}e=l.lastBaseUpdate,e===null?l.firstBaseUpdate=t:e.next=t,l.lastBaseUpdate=t}var Ic=!1;function Su(){if(Ic){var e=ui;if(e!==null)throw e}}function Eu(e,t,l,a){Ic=!1;var i=e.updateQueue;Na=!1;var u=i.firstBaseUpdate,o=i.lastBaseUpdate,m=i.shared.pending;if(m!==null){i.shared.pending=null;var S=m,R=S.next;S.next=null,o===null?u=R:o.next=R,o=S;var j=e.alternate;j!==null&&(j=j.updateQueue,m=j.lastBaseUpdate,m!==o&&(m===null?j.firstBaseUpdate=R:m.next=R,j.lastBaseUpdate=S))}if(u!==null){var H=i.baseState;o=0,j=R=S=null,m=u;do{var C=m.lane&-536870913,A=C!==m.lane;if(A?(Oe&C)===C:(a&C)===C){C!==0&&C===hn&&(Ic=!0),j!==null&&(j=j.next={lane:0,tag:m.tag,payload:m.payload,callback:null,next:null});e:{var F=e,re=m;C=t;var Se=l;switch(re.tag){case 1:if(F=re.payload,typeof F=="function"){H=F.call(Se,H,C);break e}H=F;break e;case 3:F.flags=F.flags&-65537|128;case 0:if(F=re.payload,C=typeof F=="function"?F.call(Se,H,C):F,C==null)break e;H=X({},H,C);break e;case 2:Na=!0}}C=m.callback,C!==null&&(e.flags|=64,A&&(e.flags|=8192),A=i.callbacks,A===null?i.callbacks=[C]:A.push(C))}else A={lane:C,tag:m.tag,payload:m.payload,callback:m.callback,next:null},j===null?(R=j=A,S=H):j=j.next=A,o|=C;if(m=m.next,m===null){if(m=i.shared.pending,m===null)break;A=m,m=A.next,A.next=null,i.lastBaseUpdate=A,i.shared.pending=null}}while(!0);j===null&&(S=H),i.baseState=S,i.firstBaseUpdate=R,i.lastBaseUpdate=j,u===null&&(i.shared.lanes=0),Da|=o,e.lanes=o,e.memoizedState=H}}function mm(e,t){if(typeof e!="function")throw Error(c(191,e));e.call(t)}function ym(e,t){var l=e.callbacks;if(l!==null)for(e.callbacks=null,e=0;eu?u:8;var o=ue.T,m={};m.types=o!==null?o.types:null,ue.T=m,xo(e,!1,t,l);try{var S=i(),R=ue.S;if(R!==null&&R(m,S),S!==null&&typeof S=="object"&&typeof S.then=="function"){var j=ib(S,a);Cu(e,t,j,Wt(e))}else Cu(e,t,a,Wt(e))}catch(H){Cu(e,t,{then:function(){},status:"rejected",reason:H},Wt())}finally{ye.p=u,o!==null&&m.types!==null&&(o.types=m.types),ue.T=o}}function fb(){}function po(e,t,l,a){if(e.tag!==5)throw Error(c(476));var i=Zm(e).queue;Km(e,i,t,Qt,l===null?fb:function(){return Jm(e),l(a)})}function Zm(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:Qt,baseState:Qt,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:aa,lastRenderedState:Qt},next:null};var l={};return t.next={memoizedState:l,baseState:l,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:aa,lastRenderedState:l},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function Jm(e){var t=Zm(e);t.next===null&&(t=e.alternate.memoizedState),Cu(e,t.next.queue,{},Wt())}function bo(){return gt(wi)}function Fm(){return lt().memoizedState}function $m(){return lt().memoizedState}function db(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var l=Wt();e=Ca(l);var a=za(t,e,l);a!==null&&(Bt(a,t,l),xu(a,t,l)),t={cache:Kc()},e.payload=t;return}t=t.return}}function hb(e,t,l){var a=Wt();l={lane:a,revertLane:0,gesture:null,action:l,hasEagerState:!1,eagerState:null,next:null},Ir(e)?Pm(t,l):(l=Hc(e,t,l,a),l!==null&&(Bt(l,e,a),Im(l,t,a)))}function Wm(e,t,l){var a=Wt();Cu(e,t,l,a)}function Cu(e,t,l,a){var i={lane:a,revertLane:0,gesture:null,action:l,hasEagerState:!1,eagerState:null,next:null};if(Ir(e))Pm(t,i);else{var u=e.alternate;if(e.lanes===0&&(u===null||u.lanes===0)&&(u=t.lastRenderedReducer,u!==null))try{var o=t.lastRenderedState,m=u(o,l);if(i.hasEagerState=!0,i.eagerState=m,Kt(m,o))return wr(e,t,i,0),Ve===null&&Rr(),!1}catch{}finally{}if(l=Hc(e,t,i,a),l!==null)return Bt(l,e,a),Im(l,t,a),!0}return!1}function xo(e,t,l,a){if(a={lane:2,revertLane:ff(),gesture:null,action:a,hasEagerState:!1,eagerState:null,next:null},Ir(e)){if(t)throw Error(c(479))}else t=Hc(e,l,a,2),t!==null&&Bt(t,e,2)}function Ir(e){var t=e.alternate;return e===xe||t!==null&&t===xe}function Pm(e,t){ci=Kr=!0;var l=e.pending;l===null?t.next=t:(t.next=l.next,l.next=t),e.pending=t}function Im(e,t,l){if((l&4194048)!==0){var a=t.lanes;a&=e.pendingLanes,l|=a,t.lanes=l,eh(e,l)}}var es={readContext:gt,use:Fr,useCallback:et,useContext:et,useEffect:et,useImperativeHandle:et,useLayoutEffect:et,useInsertionEffect:et,useMemo:et,useReducer:et,useRef:et,useState:et,useDebugValue:et,useDeferredValue:et,useTransition:et,useSyncExternalStore:et,useId:et,useHostTransitionStatus:et,useFormState:et,useActionState:et,useOptimistic:et,useMemoCache:et,useCacheRefresh:et,useEffectEvent:et},ey={readContext:gt,use:Fr,useCallback:function(e,t){return zt().memoizedState=[e,t===void 0?null:t],e},useContext:gt,useEffect:Hm,useImperativeHandle:function(e,t,l){l=l!=null?l.concat([e]):null,Wr(4194308,4,Qm.bind(null,t,e),l)},useLayoutEffect:function(e,t){return Wr(4194308,4,e,t)},useInsertionEffect:function(e,t){Wr(4,2,e,t)},useMemo:function(e,t){var l=zt();t=t===void 0?null:t;var a=e();if(pn){ga(!0);try{e()}finally{ga(!1)}}return l.memoizedState=[a,t],a},useReducer:function(e,t,l){var a=zt();if(l!==void 0){var i=l(t);if(pn){ga(!0);try{l(t)}finally{ga(!1)}}}else i=t;return a.memoizedState=a.baseState=i,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:i},a.queue=e,e=e.dispatch=hb.bind(null,xe,e),[a.memoizedState,e]},useRef:function(e){var t=zt();return e={current:e},t.memoizedState=e},useState:function(e){e=ho(e);var t=e.queue,l=Wm.bind(null,xe,t);return t.dispatch=l,[e.memoizedState,l]},useDebugValue:vo,useDeferredValue:function(e,t){var l=zt();return go(l,e,t)},useTransition:function(){var e=ho(!1);return e=Km.bind(null,xe,e.queue,!0,!1),zt().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,l){var a=xe,i=zt();if(_e){if(l===void 0)throw Error(c(407));l=l()}else{if(l=t(),Ve===null)throw Error(c(349));(Oe&127)!==0||Sm(a,t,l)}i.memoizedState=l;var u={value:l,getSnapshot:t};return i.queue=u,Hm(_m.bind(null,a,u,e),[e]),a.flags|=2048,fi(9,{destroy:void 0},Em.bind(null,a,u,l,t),null),l},useId:function(){var e=zt(),t=Ve.identifierPrefix;if(_e){var l=jl,a=Al;l=(a&~(1<<32-Vt(a)-1)).toString(32)+l,t="_"+t+"R_"+l,l=Zr++,0<\/script>",u=u.removeChild(u.firstChild);break;case"select":u=typeof a.is=="string"?o.createElement("select",{is:a.is}):o.createElement("select"),a.multiple?u.multiple=!0:a.size&&(u.size=a.size);break;default:u=typeof a.is=="string"?o.createElement(i,{is:a.is}):o.createElement(i)}}u[vt]=t,u[Ut]=a;e:for(o=t.child;o!==null;){if(o.tag===5||o.tag===6)u.appendChild(o.stateNode);else if(o.tag!==4&&o.tag!==27&&o.child!==null){o.child.return=o,o=o.child;continue}if(o===t)break e;for(;o.sibling===null;){if(o.return===null||o.return===t)break e;o=o.return}o.sibling.return=o.return,o=o.sibling}t.stateNode=u;e:switch(St(u,i,a),i){case"button":case"input":case"select":case"textarea":a=!!a.autoFocus;break e;case"img":a=!0;break e;default:a=!1}a&&ia(t)}}return Ze(t),t.subtreeFlags&=-33554433,Mo(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,l),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==a&&ia(t);else{if(typeof a!="string"&&t.stateNode===null)throw Error(c(166));if(e=ya.current,ii(t)){if(e=t.stateNode,l=t.memoizedProps,a=null,i=dt,i!==null)switch(i.tag){case 27:case 5:a=i.memoizedProps}e[vt]=t,e=!!(e.nodeValue===l||a!==null&&a.suppressHydrationWarning===!0||_v(e.nodeValue,l)),e||Ea(t,!0)}else e=Lu(e).createTextNode(a),e[vt]=t,t.stateNode=e}return Ze(t),null;case 31:if(l=t.memoizedState,e===null||e.memoizedState!==null){if(a=ii(t),l!==null){if(e===null){if(!a)throw Error(c(318));if(e=t.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(c(557));e[vt]=t}else cn(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;Ze(t),e=!1}else l=Yc(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=l),e=!0;if(!e)return t.flags&256?(Zt(t),t):(Zt(t),null);if((t.flags&128)!==0)throw Error(c(558))}return Ze(t),null;case 13:if(a=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(i=ii(t),a!==null&&a.dehydrated!==null){if(e===null){if(!i)throw Error(c(318));if(i=t.memoizedState,i=i!==null?i.dehydrated:null,!i)throw Error(c(317));i[vt]=t}else cn(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;Ze(t),i=!1}else i=Yc(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=i),i=!0;if(!i)return t.flags&256?(Zt(t),t):(Zt(t),null)}return Zt(t),(t.flags&128)!==0?(t.lanes=l,t):(l=a!==null,e=e!==null&&e.memoizedState!==null,l&&(a=t.child,i=null,a.alternate!==null&&a.alternate.memoizedState!==null&&a.alternate.memoizedState.cachePool!==null&&(i=a.alternate.memoizedState.cachePool.pool),u=null,a.memoizedState!==null&&a.memoizedState.cachePool!==null&&(u=a.memoizedState.cachePool.pool),u!==i&&(a.flags|=2048)),l!==e&&l&&(t.child.flags|=8192),us(t,t.updateQueue),Ze(t),null);case 4:return Yn(),e===null&&yf(t.stateNode.containerInfo),t.flags|=67108864,Ze(t),null;case 10:return ta(t.type),Ze(t),null;case 19:if(ao(t),a=t.memoizedState,a===null)return Ze(t),null;if(i=(t.flags&128)!==0,u=a.rendering,u===null)if(i)Ou(a,!1);else{if(tt!==0||e!==null&&(e.flags&128)!==0)for(e=t.child;e!==null;){if(u=Xr(e),u!==null){for(t.flags|=128,Ou(a,!1),e=u.updateQueue,t.updateQueue=e,us(t,e),t.subtreeFlags=0,e=l,l=t.child;l!==null;)Wh(l,e),l=l.sibling;return _u(t,bt.current&1|2),_e&&Il(t,a.treeForkCount),t.child}e=e.sibling}a.tail!==null&&Gt()>ps&&(t.flags|=128,i=!0,Ou(a,!1),t.lanes=4194304)}else{if(!i)if(e=Xr(u),e!==null){if(t.flags|=128,i=!0,e=e.updateQueue,t.updateQueue=e,us(t,e),Ou(a,!0),a.tail===null&&a.tailMode!=="collapsed"&&a.tailMode!=="visible"&&!u.alternate&&!_e)return Ze(t),null}else 2*Gt()-a.renderingStartTime>ps&&l!==536870912&&(t.flags|=128,i=!0,Ou(a,!1),t.lanes=4194304);a.isBackwards?(u.sibling=t.child,t.child=u):(e=a.last,e!==null?e.sibling=u:t.child=u,a.last=u)}if(a.tail!==null){e=a.tail;e:{for(l=e;l!==null;){if(l.alternate!==null){l=!1;break e}l=l.sibling}l=!0}return a.rendering=e,a.tail=e.sibling,a.renderingStartTime=Gt(),e.sibling=null,u=bt.current,u=i?u&1|2:u&1,a.tailMode==="visible"||a.tailMode==="collapsed"||!l||_e?_u(t,u):(l=u,Xe(pt,t),Xe(bt,l),_t===null&&(_t=t)),_e&&Il(t,a.treeForkCount),e}return Ze(t),null;case 22:case 23:return Zt(t),to(),a=t.memoizedState!==null,e!==null?e.memoizedState!==null!==a&&(t.flags|=8192):a&&(t.flags|=8192),a?(l&536870912)!==0&&(t.flags&128)===0&&(Ze(t),t.subtreeFlags&6&&(t.flags|=8192)):Ze(t),l=t.updateQueue,l!==null&&us(t,l.retryQueue),l=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(l=e.memoizedState.cachePool.pool),a=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(a=t.memoizedState.cachePool.pool),a!==l&&(t.flags|=2048),e!==null&&yt(mn),null;case 24:return l=null,e!==null&&(l=e.memoizedState.cache),t.memoizedState.cache!==l&&(t.flags|=2048),ta(at),Ze(t),null;case 25:return null;case 30:return t.flags|=33554432,Ze(t),null}throw Error(c(156,t.tag))}function xb(e,t){switch(Qc(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return ta(at),Yn(),e=t.flags,(e&65536)!==0&&(e&128)===0?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return fr(t),null;case 31:if(t.memoizedState!==null){if(Zt(t),t.alternate===null)throw Error(c(340));cn()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(Zt(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(c(340));cn()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return ao(t),e=t.flags,e&65536?(t.flags=e&-65537|128,e=t.memoizedState,e!==null&&(e.rendering=null,e.tail=null),t.flags|=4,t):null;case 4:return Yn(),null;case 10:return ta(t.type),null;case 22:case 23:return Zt(t),to(),e!==null&&yt(mn),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return ta(at),null;case 25:return null;default:return null}}function Ny(e,t){switch(Qc(t),t.tag){case 3:ta(at),Yn();break;case 26:case 27:case 5:fr(t);break;case 4:Yn();break;case 31:t.memoizedState!==null&&Zt(t);break;case 13:Zt(t);break;case 19:ao(t);break;case 10:ta(t.type);break;case 22:case 23:Zt(t),to(),e!==null&&yt(mn);break;case 24:ta(at)}}function Ru(e,t){try{var l=t.updateQueue,a=l!==null?l.lastEffect:null;if(a!==null){var i=a.next;l=i;do{if((l.tag&e)===e){a=void 0;var u=l.create,o=l.inst;a=u(),o.destroy=a}l=l.next}while(l!==i)}}catch(m){Be(t,t.return,m)}}function Aa(e,t,l){try{var a=t.updateQueue,i=a!==null?a.lastEffect:null;if(i!==null){var u=i.next;a=u;do{if((a.tag&e)===e){var o=a.inst,m=o.destroy;if(m!==void 0){o.destroy=void 0,i=t;var S=l,R=m;try{R()}catch(j){Be(i,S,j)}}}a=a.next}while(a!==u)}}catch(j){Be(t,t.return,j)}}function Cy(e){var t=e.updateQueue;if(t!==null){var l=e.stateNode;try{ym(t,l)}catch(a){Be(e,e.return,a)}}}function zy(e,t,l){l.props=bn(e.type,e.memoizedProps),l.state=e.memoizedState;try{l.componentWillUnmount()}catch(a){Be(e,t,a)}}function Ml(e,t){try{var l=e.ref;if(l!==null){switch(e.tag){case 26:case 27:case 5:var a=e.stateNode;break;case 30:var i=e.stateNode,u=$l(e.memoizedProps,i);(i.ref===null||i.ref.name!==u)&&(i.ref=Dv(u)),a=i.ref;break;case 7:if(e.stateNode===null){var o=new Pt(e);p(e.child,!1,o2,o,void 0,void 0),e.stateNode=o}a=e.stateNode;break;default:a=e.stateNode}typeof l=="function"?e.refCleanup=l(a):l.current=a}}catch(m){Be(e,t,m)}}function xt(e,t){var l=e.ref,a=e.refCleanup;if(l!==null)if(typeof a=="function")try{a()}catch(i){Be(e,t,i)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof l=="function")try{l(null)}catch(i){Be(e,t,i)}else l.current=null}function rs(e,t){if((e.tag===5||e.tag===27||e.tag===6)&&e.alternate===null&&t!==null)for(var l=0;l title"))),St(a,t,l),a[vt]=e,ft(a),t=a;break e;case"link":if(u=Wv("link","href",i).get(t+(l.href||""))){for(o=0;oSe&&(o=Se,Se=re,re=o);var O=Lh(m,re),_=Lh(m,Se);if(O&&_&&(A.rangeCount!==1||A.anchorNode!==O.node||A.anchorOffset!==O.offset||A.focusNode!==_.node||A.focusOffset!==_.offset)){var w=H.createRange();w.setStart(O.node,O.offset),A.removeAllRanges(),re>Se?(A.addRange(w),A.extend(_.node,_.offset)):(w.setEnd(_.node,_.offset),A.addRange(w))}}}}for(H=[],A=m;A=A.parentNode;)A.nodeType===1&&H.push({element:A,left:A.scrollLeft,top:A.scrollTop});for(typeof m.focus=="function"&&m.focus(),m=0;ml?32:l,ue.T=null,l=ef,ef=null;var u=xl,o=Ll;if(Pe=0,_n=xl=null,Ll=0,(ke&6)!==0)throw Error(c(331));var m=ke;if(ke|=4,$y(u.current),Zy(u,u.current,o,l),ke=m,ku(0,!1),Yt&&typeof Yt.onPostCommitFiberRoot=="function")try{Yt.onPostCommitFiberRoot(eu,u)}catch{}return!0}finally{ye.p=i,ue.T=a,fv(e,t)}}function dv(e,t,l){t=ul(l,t),t=_o(e.stateNode,t,2),e=za(e,t,2),e!==null&&(lu(e,2),Bl(e))}function Be(e,t,l){if(e.tag===3)dv(e,e,l);else for(;t!==null;){if(t.tag===3){dv(t,e,l);break}else if(t.tag===1){var a=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof a.componentDidCatch=="function"&&(Ua===null||!Ua.has(a))){e=ul(l,e),l=sy(2),a=za(t,l,2),a!==null&&(cy(l,a,t,e),lu(a,2),Bl(a));break}}t=t.return}}function sf(e,t,l){var a=e.pingCache;if(a===null){a=e.pingCache=new Tb;var i=new Set;a.set(t,i)}else i=a.get(t),i===void 0&&(i=new Set,a.set(t,i));i.has(l)||(Wo=!0,i.add(l),e=jb.bind(null,e,t,l),t.then(e,e))}function jb(e,t,l){var a=e.pingCache;a!==null&&a.delete(t),e.pingedLanes|=e.suspendedLanes&l,e.warmLanes&=~l,Ve===e&&(Oe&l)===l&&((tt===4||tt===3&&(Oe&62914560)===Oe&&300>Gt()-gs)&&(ke&2)===0?Ei(e,0):vs|=l,gi===Oe&&(gi=0)),Bl(e)}function hv(e,t){t===0&&(t=Pd()),e=rn(e,t),e!==null&&(lu(e,t),Bl(e))}function Mb(e){var t=e.memoizedState,l=0;t!==null&&(l=t.retryLane),hv(e,l)}function Db(e,t){var l=0;switch(e.tag){case 31:case 13:var a=e.stateNode,i=e.memoizedState;i!==null&&(l=i.retryLane);break;case 19:a=e.stateNode;break;case 22:a=e.stateNode._retryCache;break;default:throw Error(c(314))}a!==null&&a.delete(t),hv(e,l)}function Ub(e,t){return cc(e,t)}var Ti=null,Ni=null,cf=!1,Ns=!1,of=!1,Ha=0;function Bl(e){e!==Ni&&e.next===null&&(Ni===null?Ti=Ni=e:Ni=Ni.next=e),Ns=!0,cf||(cf=!0,Hb())}function ku(e,t){if(!of&&Ns){of=!0;do for(var l=!1,a=Ti;a!==null;){if(e!==0){var i=a.pendingLanes;if(i===0)var u=0;else{var o=a.suspendedLanes,m=a.pingedLanes;u=(1<<31-Vt(42|e)+1)-1,u&=i&~(o&~m),u=u&201326741?u&201326741|1:u?u|2:0}u!==0&&(l=!0,gv(a,u))}else u=Oe,u=vr(a,a===Ve?u:0,a.cancelPendingCommit!==null||a.timeoutHandle!==-1),(u&3)===0||tu(a,u)||(l=!0,gv(a,u));a=a.next}while(l);of=!1}}function kb(){mv()}function mv(){Ns=cf=!1;var e=0;Ha!==0&&Jb()&&(e=Ha);for(var t=Gt(),l=null,a=Ti;a!==null;){var i=a.next,u=yv(a,t);u===0?(a.next=null,l===null?Ti=i:l.next=i,i===null&&(Ni=l)):(l=a,(e!==0||(u&3)!==0)&&(Ns=!0)),a=i}Pe!==0&&Pe!==5||ku(e),Ha!==0&&(Ha=0)}function yv(e,t){for(var l=e.suspendedLanes,a=e.pingedLanes,i=e.expirationTimes,u=e.pendingLanes&-62914561;0m)break;var j=S.transferSize,H=S.initiatorType;j&&Tv(H)&&(S=S.responseEnd,o+=j*(Sws){re.length=F;break}w=new Promise(e2.bind(w)),re.push(w)}}}if(0"u"?null:document;function Zv(e,t,l){var a=zi;if(a&&typeof t=="string"&&t){var i=nl(t);i='link[rel="'+e+'"][href="'+i+'"]',typeof l=="string"&&(i+='[crossorigin="'+l+'"]'),Kv.has(i)||(Kv.add(i),e={rel:e,crossOrigin:l,href:t},a.querySelector(i)===null&&(t=a.createElement("link"),St(t,"link",e),ft(t),a.head.appendChild(t)))}}function b2(e){ra.D(e),Zv("dns-prefetch",e,null)}function x2(e,t){ra.C(e,t),Zv("preconnect",e,t)}function S2(e,t,l){ra.L(e,t,l);var a=zi;if(a&&e&&t){var i='link[rel="preload"][as="'+nl(t)+'"]';t==="image"&&l&&l.imageSrcSet?(i+='[imagesrcset="'+nl(l.imageSrcSet)+'"]',typeof l.imageSizes=="string"&&(i+='[imagesizes="'+nl(l.imageSizes)+'"]')):i+='[href="'+nl(e)+'"]';var u=i;switch(t){case"style":u=Oi(e);break;case"script":u=Ri(e)}if(!(dl.has(u)||(e=X({rel:"preload",href:t==="image"&&l&&l.imageSrcSet?void 0:e,as:t},l),dl.set(u,e),a.querySelector(i)!==null||t==="style"&&a.querySelector(Qu(u))||t==="script"&&a.querySelector(Gu(u))))){var o=a.createElement("link");St(o,"link",e),t==="style"&&(o[gr]=!0,o.onload=o.onerror=function(){uh(o)}),ft(o),a.head.appendChild(o)}}}function E2(e,t){ra.m(e,t);var l=zi;if(l&&e){var a=t&&typeof t.as=="string"?t.as:"script",i='link[rel="modulepreload"][as="'+nl(a)+'"][href="'+nl(e)+'"]',u=i;switch(a){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":u=Ri(e)}if(!dl.has(u)&&(e=X({rel:"modulepreload",href:e},t),dl.set(u,e),l.querySelector(i)===null)){switch(a){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(l.querySelector(Gu(u)))return}a=l.createElement("link"),St(a,"link",e),ft(a),l.head.appendChild(a)}}}function _2(e,t,l){ra.S(e,t,l);var a=zi;if(a&&e){var i=Kn(a).hoistableStyles,u=Oi(e);t=t||"default";var o=i.get(u);if(!o){var m={loading:0,preload:null};if(o=a.querySelector(Qu(u)))m.loading=5;else{e=X({rel:"stylesheet",href:e,"data-precedence":t},l),(l=dl.get(u))&&Af(e,l);var S=o=a.createElement("link");ft(S),St(S,"link",e),S._p=new Promise(function(R,j){S.onload=R,S.onerror=j}),S.addEventListener("load",function(){m.loading|=1}),S.addEventListener("error",function(){m.loading|=2}),m.loading|=4,Os(o,t,a)}o={type:"stylesheet",instance:o,count:1,state:m},i.set(u,o)}}}function T2(e,t){ra.X(e,t);var l=zi;if(l&&e){var a=Kn(l).hoistableScripts,i=Ri(e),u=a.get(i);u||(u=l.querySelector(Gu(i)),u||(e=X({src:e,async:!0},t),(t=dl.get(i))&&jf(e,t),u=l.createElement("script"),ft(u),St(u,"link",e),l.head.appendChild(u)),u={type:"script",instance:u,count:1,state:null},a.set(i,u))}}function N2(e,t){ra.M(e,t);var l=zi;if(l&&e){var a=Kn(l).hoistableScripts,i=Ri(e),u=a.get(i);u||(u=l.querySelector(Gu(i)),u||(e=X({src:e,async:!0,type:"module"},t),(t=dl.get(i))&&jf(e,t),u=l.createElement("script"),ft(u),St(u,"link",e),l.head.appendChild(u)),u={type:"script",instance:u,count:1,state:null},a.set(i,u))}}function Jv(e,t,l,a){var i=(i=ya.current)?Bu(i):null;if(!i)throw Error(c(446));switch(e){case"meta":case"title":return null;case"style":return typeof l.precedence=="string"&&typeof l.href=="string"?(l=Oi(l.href),t=Kn(i).hoistableStyles,a=t.get(l),a||(a={type:"style",instance:null,count:0,state:null},t.set(l,a)),a):{type:"void",instance:null,count:0,state:null};case"link":if(l.rel==="stylesheet"&&typeof l.href=="string"&&typeof l.precedence=="string"){e=Oi(l.href);var u=Kn(i).hoistableStyles,o=u.get(e);if(o||(i=i.ownerDocument||i,o={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},u.set(e,o),(u=i.querySelector(Qu(e)))?u._p||(o.instance=u,o.state.loading=5):(u=dl.get(e),u||(u={rel:"preload",as:"style",href:l.href,crossOrigin:l.crossOrigin,integrity:l.integrity,media:l.media,hrefLang:l.hrefLang,referrerPolicy:l.referrerPolicy},dl.set(e,u)),C2(i,e,u,o.state))),t&&a===null)throw Error(c(528,""));return o}if(t&&a!==null)throw Error(c(529,""));return null;case"script":return t=l.async,l=l.src,typeof l=="string"&&t&&typeof t!="function"&&typeof t!="symbol"?(l=Ri(l),t=Kn(i).hoistableScripts,a=t.get(l),a||(a={type:"script",instance:null,count:0,state:null},t.set(l,a)),a):{type:"void",instance:null,count:0,state:null};default:throw Error(c(444,e))}}function Oi(e){return'href="'+nl(e)+'"'}function Qu(e){return'link[rel="stylesheet"]['+e+"]"}function Fv(e){return X({},e,{"data-precedence":e.precedence,precedence:null})}function C2(e,t,l,a){if(t=e.querySelector('link[rel="preload"][as="style"]['+t+"]")){if(t[gr]!==!0){a.loading=1;return}}else t=e.createElement("link"),t[gr]=!0,t.onload=t.onerror=uh.bind(null,t),St(t,"link",l),ft(t),e.head.appendChild(t);a.preload=t,t.addEventListener("load",function(){return a.loading|=1}),t.addEventListener("error",function(){return a.loading|=2})}function Ri(e){return'[src="'+nl(e)+'"]'}function Gu(e){return"script[async]"+e}function $v(e,t,l){if(t.count++,t.instance===null)switch(t.type){case"style":var a=e.querySelector('style[data-href~="'+nl(l.href)+'"]');if(a)return t.instance=a,ft(a),a;var i=X({},l,{"data-href":l.href,"data-precedence":l.precedence,href:null,precedence:null});return a=(e.ownerDocument||e).createElement("style"),ft(a),St(a,"style",i),Os(a,l.precedence,e),t.instance=a;case"stylesheet":i=Oi(l.href);var u=e.querySelector(Qu(i));if(u)return t.state.loading|=4,t.instance=u,ft(u),u;a=Fv(l),(i=dl.get(i))&&Af(a,i),u=(e.ownerDocument||e).createElement("link"),ft(u);var o=u;return o._p=new Promise(function(m,S){o.onload=m,o.onerror=S}),St(u,"link",a),t.state.loading|=4,Os(u,l.precedence,e),t.instance=u;case"script":return u=Ri(l.src),(i=e.querySelector(Gu(u)))?(t.instance=i,ft(i),i):(a=l,(i=dl.get(u))&&(a=X({},l),jf(a,i)),e=e.ownerDocument||e,i=e.createElement("script"),ft(i),St(i,"link",a),e.head.appendChild(i),t.instance=i);case"void":return null;default:throw Error(c(443,t.type))}else t.type==="stylesheet"&&(t.state.loading&4)===0&&(a=t.instance,t.state.loading|=4,Os(a,l.precedence,e));return t.instance}function Os(e,t,l){for(var a=l.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),i=a.length?a[a.length-1]:null,u=i,o=0;o title"):null)}function z2(e,t,l){if(l===1||t.itemProp!=null)return!1;switch(e){case"meta":case"title":return!0;case"style":if(typeof t.precedence!="string"||typeof t.href!="string"||t.href==="")break;return!0;case"link":if(typeof t.rel!="string"||typeof t.href!="string"||t.href===""||t.onLoad||t.onError)break;switch(t.rel){case"stylesheet":return e=t.disabled,typeof t.precedence=="string"&&e==null;default:return!0}case"script":if(t.async&&typeof t.async!="function"&&typeof t.async!="symbol"&&!t.onLoad&&!t.onError&&t.src&&typeof t.src=="string")return!0}return!1}function Pv(e,t){return e==="img"&&t.src!=null&&t.src!==""&&t.onLoad==null&&t.loading!=="lazy"}function Iv(e){return!(e.type==="stylesheet"&&(e.state.loading&3)===0)}function e0(e){return(e.width||100)*(e.height||100)*(typeof devicePixelRatio=="number"?devicePixelRatio:1)*.25}function t0(e,t){typeof t.decode=="function"&&(e.imgCount++,t.complete||(e.imgBytes+=e0(t),e.suspenseyImages.push(t)),e=w2.bind(e),t.decode().then(e,e))}function O2(e,t,l,a){if(l.type==="stylesheet"&&(typeof a.media!="string"||matchMedia(a.media).matches!==!1)&&(l.state.loading&4)===0){if(l.instance===null){var i=Oi(a.href),u=t.querySelector(Qu(i));if(u){t=u._p,t!==null&&typeof t=="object"&&typeof t.then=="function"&&(e.count++,e=Yu.bind(e),t.then(e,e)),l.state.loading|=4,l.instance=u,ft(u);return}u=t.ownerDocument||t,a=Fv(a),(i=dl.get(i))&&Af(a,i),u=u.createElement("link"),ft(u);var o=u;o._p=new Promise(function(m,S){o.onload=m,o.onerror=S}),St(u,"link",a),l.instance=u}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(l,t),(t=l.state.preload)&&(l.state.loading&3)===0&&(e.count++,l=Yu.bind(e),t.addEventListener("load",l),t.addEventListener("error",l))}}var ws=0;function R2(e,t){return e.stylesheets&&e.count===0&&js(e,e.stylesheets),0ws?50:800)+t);return e.unsuspend=l,function(){e.unsuspend=null,clearTimeout(a),clearTimeout(i)}}:null}function l0(e){if(e.count===0&&(e.imgCount===0||!e.waitingForImages)){if(e.stylesheets)js(e,e.stylesheets);else if(e.unsuspend){var t=e.unsuspend;e.unsuspend=null,t()}}}function Yu(){this.count--,l0(this)}function w2(){this.imgCount--,l0(this)}var As=null;function js(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,As=new Map,t.forEach(A2,e),As=null,Yu.call(e))}function A2(e,t){if(!(t.state.loading&4)){var l=As.get(e);if(l)var a=l.get(null);else{l=new Map,As.set(e,l);for(var i=e.querySelectorAll("link[data-precedence],style[data-precedence]"),u=0;u"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(r){console.error(r)}}return n(),Yf.exports=Z2(),Yf.exports}var F2=J2();const $2=bg(F2);/** + * react-router v7.18.4 + * + * Copyright (c) Remix Software Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE.md file in the root directory of this source tree. + * + * @license MIT + */var Ed=/^(?:[a-z][a-z0-9+.-]*:|[\\/]{2})/i,Sg=/^[\\/]{2}/;function W2(n,r){return r+n.replace(/\\/g,"/")}var z0="popstate";function O0(n){return typeof n=="object"&&n!=null&&"pathname"in n&&"search"in n&&"hash"in n&&"state"in n&&"key"in n}function P2(n={}){function r(f,h){let{pathname:d="/",search:v="",hash:b=""}=Ln(f.location.hash.substring(1));return!d.startsWith("/")&&!d.startsWith(".")&&(d="/"+d),Pf("",{pathname:d,search:v,hash:b},h.state&&h.state.usr||null,h.state&&h.state.key||"default")}function s(f,h){let d=f.document.querySelector("base"),v="";if(d&&d.getAttribute("href")){let b=f.location.href,g=b.indexOf("#");v=g===-1?b:b.slice(0,g)}return v+"#"+(typeof h=="string"?h:Hn(h))}function c(f,h){tl(f.pathname.charAt(0)==="/",`relative pathnames are not supported in hash history.push(${JSON.stringify(h)})`)}return ex(r,s,c,n)}function We(n,r){if(n===!1||n===null||typeof n>"u")throw new Error(r)}function tl(n,r){if(!n){typeof console<"u"&&console.warn(r);try{throw new Error(r)}catch{}}}function I2(){return Math.random().toString(36).substring(2,10)}function R0(n,r){return{usr:n.state,key:n.key,idx:r,masked:n.mask?{pathname:n.pathname,search:n.search,hash:n.hash}:void 0}}function Pf(n,r,s=null,c,f){return{pathname:typeof n=="string"?n:n.pathname,search:"",hash:"",...typeof r=="string"?Ln(r):r,state:s,key:r&&r.key||c||I2(),mask:f}}function Hn({pathname:n="/",search:r="",hash:s=""}){return r&&r!=="?"&&(n+=r.charAt(0)==="?"?r:"?"+r),s&&s!=="#"&&(n+=s.charAt(0)==="#"?s:"#"+s),n}function Ln(n){let r={};if(n){let s=n.indexOf("#");s>=0&&(r.hash=n.substring(s),n=n.substring(0,s));let c=n.indexOf("?");c>=0&&(r.search=n.substring(c),n=n.substring(0,c)),n&&(r.pathname=n)}return r}function ex(n,r,s,c={}){let{window:f=document.defaultView,v5Compat:h=!1}=c,d=f.history,v="POP",b=null,g=x();g==null&&(g=0,d.replaceState({...d.state,idx:g},""));function x(){return(d.state||{idx:null}).idx}function p(){v="POP";let U=x(),Q=U==null?null:U-g;g=U,b&&b({action:v,location:L.location,delta:Q})}function z(U,Q){v="PUSH";let Y=O0(U)?U:Pf(L.location,U,Q);s&&s(Y,U),g=x()+1;let Z=R0(Y,g),I=L.createHref(Y.mask||Y);try{d.pushState(Z,"",I)}catch(K){if(K instanceof DOMException&&K.name==="DataCloneError")throw K;f.location.assign(I)}h&&b&&b({action:v,location:L.location,delta:1})}function q(U,Q){v="REPLACE";let Y=O0(U)?U:Pf(L.location,U,Q);s&&s(Y,U),g=x();let Z=R0(Y,g),I=L.createHref(Y.mask||Y);d.replaceState(Z,"",I),h&&b&&b({action:v,location:L.location,delta:0})}function G(U){return tx(f,U)}let L={get action(){return v},get location(){return n(f,d)},listen(U){if(b)throw new Error("A history only accepts one active listener");return f.addEventListener(z0,p),b=U,()=>{f.removeEventListener(z0,p),b=null}},createHref(U){return r(f,U)},createURL:G,encodeLocation(U){let Q=G(U);return{pathname:Q.pathname,search:Q.search,hash:Q.hash}},push:z,replace:q,go(U){return d.go(U)}};return L}function tx(n,r,s=!1){let c="http://localhost";n&&(c=n.location.origin!=="null"?n.location.origin:n.location.href),We(c,"No window.location.(origin|href) available to create URL");let f=typeof r=="string"?r:Hn(r);return f=f.replace(/ $/,"%20"),!s&&Sg.test(f)&&(f=c+f),new URL(f,c)}function Eg(n,r,s="/"){return lx(n,r,s,!1)}function lx(n,r,s,c,f){let h=typeof r=="string"?Ln(r):r,d=ha(h.pathname||"/",s);if(d==null)return null;let v=ax(n),b=null,g=mx(d);for(let x=0;b==null&&x{let x={relativePath:g===void 0?d.path||"":g,caseSensitive:d.caseSensitive===!0,childrenIndex:v,route:d};if(x.relativePath.startsWith("/")){if(!x.relativePath.startsWith(c)&&b)return;We(x.relativePath.startsWith(c),`Absolute route path "${x.relativePath}" nested under path "${c}" is not valid. An absolute child route path must start with the combined path of all its parent routes.`),x.relativePath=x.relativePath.slice(c.length)}let p=Tl([c,x.relativePath]),z=s.concat(x);d.children&&d.children.length>0&&(We(d.index!==!0,`Index routes must not have child routes. Please remove all child routes from route path "${p}".`),_g(d.children,r,z,p,b)),!(d.path==null&&!d.index)&&r.push({path:p,score:fx(p,d.index),routesMeta:z.map((q,G)=>{let[L,U]=Cg(q.relativePath,q.caseSensitive,G===z.length-1);return{...q,matcher:L,compiledParams:U}})})};return n.forEach((d,v)=>{var b;if(d.path===""||!((b=d.path)!=null&&b.includes("?")))h(d,v);else for(let g of Tg(d.path))h(d,v,!0,g)}),r}function Tg(n){let r=n.split("/");if(r.length===0)return[];let[s,...c]=r,f=s.endsWith("?"),h=s.replace(/\?$/,"");if(c.length===0)return f?[h,""]:[h];let d=Tg(c.join("/")),v=[];return v.push(...d.map(b=>b===""?h:[h,b].join("/"))),f&&v.push(...d),v.map(b=>n.startsWith("/")&&b===""?"/":b)}function nx(n){n.sort((r,s)=>r.score!==s.score?s.score-r.score:dx(r.routesMeta.map(c=>c.childrenIndex),s.routesMeta.map(c=>c.childrenIndex)))}var ix=/^:[\w-]+$/,ux=3,rx=2,sx=1,cx=10,ox=-2,w0=n=>n==="*";function fx(n,r){let s=n.split("/"),c=s.length;return s.some(w0)&&(c+=ox),r&&(c+=rx),s.filter(f=>!w0(f)).reduce((f,h)=>f+(ix.test(h)?ux:h===""?sx:cx),c)}function dx(n,r){return n.length===r.length&&n.slice(0,-1).every((c,f)=>c===r[f])?n[n.length-1]-r[r.length-1]:0}function hx(n,r,s=!1){let{routesMeta:c}=n,f={},h="/",d=[];for(let v=0;v{if(x==="*"){let G=v[z]||"";d=Zi(h.slice(0,h.length-G.length),1)}const q=v[z];return p&&!q?g[x]=void 0:g[x]=(q||"").replace(/%2F/g,"/"),g},{}),pathname:h,pathnameBase:d,pattern:n}}function Cg(n,r=!1,s=!0){tl(n==="*"||!n.endsWith("*")||n.endsWith("/*"),`Route path "${n}" will be treated as if it were "${n.replace(/\*$/,"/*")}" because the \`*\` character must always follow a \`/\` in the pattern. To get rid of this warning, please change the route path to "${n.replace(/\*$/,"/*")}".`);let c=[],f="^"+n.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(d,v,b,g,x)=>{if(c.push({paramName:v,isOptional:b!=null}),b){let p=x.charAt(g+d.length);return p&&p!=="/"?"/([^\\/]*)":"(?:/([^\\/]*))?"}return"/([^\\/]+)"}).replace(/\/([\w-]+)\?(\/|$)/g,"(/$1)?$2");return n.endsWith("*")?(c.push({paramName:"*"}),f+=n==="*"||n==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):s?f+="\\/*$":n!==""&&n!=="/"&&(f+="(?:(?=\\/|$))"),[new RegExp(f,r?void 0:"i"),c]}function mx(n){try{return n.split("/").map(r=>decodeURIComponent(r).replace(/\//g,"%2F")).join("/")}catch(r){return tl(!1,`The URL path "${n}" could not be decoded because it is a malformed URL segment. This is probably due to a bad percent encoding (${r}).`),n}}function ha(n,r){if(r==="/")return n;if(!n.toLowerCase().startsWith(r.toLowerCase()))return null;let s=r.endsWith("/")?r.length-1:r.length,c=n.charAt(s);return c&&c!=="/"?null:n.slice(s)||"/"}function yx(n,r="/"){let{pathname:s,search:c="",hash:f=""}=typeof n=="string"?Ln(n):n,h;return s?(s=zg(s),s.startsWith("/")||s.startsWith("\\")?h=A0(s.substring(1),"/"):h=A0(s,r)):h=r,{pathname:h,search:px(c),hash:bx(f)}}function A0(n,r){let s=Zi(r).split("/");return n.split("/").forEach(f=>{f===".."?s.length>1&&s.pop():f!=="."&&s.push(f)}),s.length>1?s.join("/"):"/"}function Zf(n,r,s,c){return`Cannot include a '${n}' character in a manually specified \`to.${r}\` field [${JSON.stringify(c)}]. Please separate it out to the \`to.${s}\` field. Alternatively you may provide the full path as a string in and the router will parse it for you.`}function vx(n){return n.filter((r,s)=>s===0||r.route.path&&r.route.path.length>0)}function _d(n){let r=vx(n);return r.map((s,c)=>c===r.length-1?s.pathname:s.pathnameBase)}function $s(n,r,s,c=!1){let f;typeof n=="string"?f=Ln(n):(f={...n},We(!f.pathname||!f.pathname.includes("?"),Zf("?","pathname","search",f)),We(!f.pathname||!f.pathname.includes("#"),Zf("#","pathname","hash",f)),We(!f.search||!f.search.includes("#"),Zf("#","search","hash",f)));let h=n===""||f.pathname==="",d=h?"/":f.pathname,v;if(d==null)v=s;else{let p=r.length-1;if(!c&&d.startsWith("..")){let z=d.split("/");for(;z[0]==="..";)z.shift(),p-=1;f.pathname=z.join("/")}v=p>=0?r[p]:"/"}let b=yx(f,v),g=d&&d!=="/"&&d.endsWith("/"),x=(h||d===".")&&s.endsWith("/");return!b.pathname.endsWith("/")&&(g||x)&&(b.pathname+="/"),b}var zg=n=>n.replace(/[\\/]{2,}/g,"/"),Tl=n=>zg(n.join("/"));function Zi(n,r=0){let s=n.length;for(;s>r&&n.charCodeAt(s-1)===47;)s--;return s===n.length?n:n.slice(0,s)}var gx=n=>Zi(n).replace(/^\/*/,"/"),px=n=>!n||n==="?"?"":n.startsWith("?")?n:"?"+n,bx=n=>!n||n==="#"?"":n.startsWith("#")?n:"#"+n,xx=class{constructor(n,r,s,c=!1){this.status=n,this.statusText=r||"",this.internal=c,s instanceof Error?(this.data=s.toString(),this.error=s):this.data=s}};function Sx(n){return n!=null&&typeof n.status=="number"&&typeof n.statusText=="string"&&typeof n.internal=="boolean"&&"data"in n}function Ex(n){let r=n.map(s=>s.route.path).filter(Boolean);return Tl(r)||"/"}var Og=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";function Rg(n,r){let s=n;if(typeof s!="string"||!Ed.test(s))return{absoluteURL:void 0,isExternal:!1,to:s};let c=s,f=!1;if(Og)try{let h=new URL(window.location.href),d=Sg.test(s)?new URL(W2(s,h.protocol)):new URL(s),v=ha(d.pathname,r);d.origin===h.origin&&v!=null?s=v+d.search+d.hash:f=!0}catch{tl(!1,` contains an invalid URL which will probably break when clicked - please update to a valid URL path.`)}return{absoluteURL:c,isExternal:f,to:s}}Object.getOwnPropertyNames(Object.prototype).sort().join("\0");var j0=new URL("http://localhost");function Td(n){if(n.createURL)return n.createURL("/");try{return new URL(n.createHref("/"),j0)}catch{return j0}}function Jf(n,r){return n.origin===r.origin&&(n.origin!=="null"||n.protocol===r.protocol&&n.host===r.host)}function _x(n,r){if(n.startsWith("//"))return!0;let s=r.protocol.toLowerCase();return n.toLowerCase().startsWith(s)?r.host===""||n.slice(s.length).startsWith("//"):!1}function Nd(n,r,s,c){let f=null;try{f=n==null?null:new URL(n,s)}catch{}let h=new URL(r,s),d=f!=null&&!Jf(f,s),v=!Jf(h,s);if(c==="reject"){if(d||v)throw new Error("External navigation is not allowed")}else if(v&&(f==null||!_x(n,f)||!Jf(f,h)))throw new Error("External navigation is not allowed")}var wg=["POST","PUT","PATCH","DELETE"];new Set(wg);var Tx=["GET",...wg];new Set(Tx);var Nx=["about:","blob:","chrome:","chrome-untrusted:","content:","data:","devtools:","file:","filesystem:","javascript:"];function Cx(n){try{return Nx.includes(new URL(n).protocol)}catch{return!1}}var $i=T.createContext(null);$i.displayName="DataRouter";var Ws=T.createContext(null);Ws.displayName="DataRouterState";var Ag=T.createContext(!1);function zx(){return T.useContext(Ag)}var jg=T.createContext({isTransitioning:!1});jg.displayName="ViewTransition";var Ox=T.createContext(new Map);Ox.displayName="Fetchers";var Rx=T.createContext(null);Rx.displayName="Await";var ll=T.createContext(null);ll.displayName="Navigation";var rr=T.createContext(null);rr.displayName="Location";var Cl=T.createContext({outlet:null,matches:[],isDataRoute:!1});Cl.displayName="Route";var Cd=T.createContext(null);Cd.displayName="RouteError";var Mg="REACT_ROUTER_ERROR",wx="REDIRECT",Ax="ROUTE_ERROR_RESPONSE";function jx(n){if(n.startsWith(`${Mg}:${wx}:{`))try{let r=JSON.parse(n.slice(28));if(typeof r=="object"&&r&&typeof r.status=="number"&&typeof r.statusText=="string"&&typeof r.location=="string"&&typeof r.reloadDocument=="boolean"&&typeof r.replace=="boolean")return r}catch{}}function Mx(n){if(n.startsWith(`${Mg}:${Ax}:{`))try{let r=JSON.parse(n.slice(40));if(typeof r=="object"&&r&&typeof r.status=="number"&&typeof r.statusText=="string")return new xx(r.status,r.statusText,r.data)}catch{}}function Dx(n,{relative:r}={}){We(Wi(),"useHref() may be used only in the context of a component.");let{basename:s,navigator:c}=T.useContext(ll),{hash:f,pathname:h,search:d}=sr(n,{relative:r}),v=h;return s!=="/"&&(v=h==="/"?s:Tl([s,h])),c.createHref({pathname:v,search:d,hash:f})}function Wi(){return T.useContext(rr)!=null}function yl(){return We(Wi(),"useLocation() may be used only in the context of a component."),T.useContext(rr).location}var Dg="You should call navigate() in a React.useEffect(), not when your component is first rendered.";function Ug(n){T.useContext(ll).static||T.useLayoutEffect(n)}function Ps(){let{isDataRoute:n}=T.useContext(Cl);return n?Fx():Ux()}function Ux(){We(Wi(),"useNavigate() may be used only in the context of a component.");let n=T.useContext($i),{basename:r,navigator:s}=T.useContext(ll),{matches:c}=T.useContext(Cl),{pathname:f}=yl(),h=JSON.stringify(_d(c)),d=T.useRef(!1);return Ug(()=>{d.current=!0}),T.useCallback((b,g={})=>{if(tl(d.current,Dg),!d.current)return;if(typeof b=="number"){s.go(b);return}let x=$s(b,JSON.parse(h),f,g.relative==="path");n==null&&r!=="/"&&(x.pathname=x.pathname==="/"?r:Tl([r,x.pathname])),Nd(typeof b=="string"?b:Hn(b),s.createHref(x),Td(s),"reject"),(g.replace?s.replace:s.push)(x,g.state,g)},[r,s,h,f,n])}var kx=T.createContext(null);function Hx(n){let r=T.useContext(Cl).outlet;return T.useMemo(()=>r&&T.createElement(kx.Provider,{value:n},r),[r,n])}function sr(n,{relative:r}={}){let{matches:s}=T.useContext(Cl),{pathname:c}=yl(),f=JSON.stringify(_d(s));return T.useMemo(()=>$s(n,JSON.parse(f),c,r==="path"),[n,f,c,r])}function qx(n,r){return kg(n,r)}function kg(n,r,s){var U;We(Wi(),"useRoutes() may be used only in the context of a component.");let{navigator:c}=T.useContext(ll),{matches:f}=T.useContext(Cl),h=f[f.length-1],d=h?h.params:{},v=h?h.pathname:"/",b=h?h.pathnameBase:"/",g=h&&h.route;{let Q=g&&g.path||"";qg(v,!g||Q.endsWith("*")||Q.endsWith("*?"),`You rendered descendant (or called \`useRoutes()\`) at "${v}" (under ) but the parent route path has no trailing "*". This means if you navigate deeper, the parent won't match anymore and therefore the child routes will never render. + +Please change the parent to .`)}let x=yl(),p;if(r){let Q=typeof r=="string"?Ln(r):r;We(b==="/"||((U=Q.pathname)==null?void 0:U.startsWith(b)),`When overriding the location using \`\` or \`useRoutes(routes, location)\`, the location pathname must begin with the portion of the URL pathname that was matched by all parent routes. The current pathname base is "${b}" but pathname "${Q.pathname}" was given in the \`location\` prop.`),p=Q}else p=x;let z=p.pathname||"/",q=z;if(b!=="/"){let Q=b.replace(/^\//,"").split("/");q="/"+z.replace(/^\//,"").split("/").slice(Q.length).join("/")}let G=s&&s.state.matches.length?s.state.matches.map(Q=>Object.assign(Q,{route:s.manifest[Q.route.id]||Q.route})):Eg(n,{pathname:q});tl(g||G!=null,`No routes matched location "${p.pathname}${p.search}${p.hash}" `),tl(G==null||G[G.length-1].route.element!==void 0||G[G.length-1].route.Component!==void 0||G[G.length-1].route.lazy!==void 0,`Matched leaf route at location "${p.pathname}${p.search}${p.hash}" does not have an element or Component. This means it will render an with a null value by default resulting in an "empty" page.`);let L=Yx(G&&G.map(Q=>Object.assign({},Q,{params:Object.assign({},d,Q.params),pathname:Tl([b,c.encodeLocation?c.encodeLocation(Q.pathname.replace(/%/g,"%25").replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:Q.pathname]),pathnameBase:Q.pathnameBase==="/"?b:Tl([b,c.encodeLocation?c.encodeLocation(Q.pathnameBase.replace(/%/g,"%25").replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:Q.pathnameBase])})),f,s);return r&&L?T.createElement(rr.Provider,{value:{location:{pathname:"/",search:"",hash:"",state:null,key:"default",mask:void 0,...p},navigationType:"POP"}},L):L}function Lx(){let n=Jx(),r=Sx(n)?`${n.status} ${n.statusText}`:n instanceof Error?n.message:JSON.stringify(n),s=n instanceof Error?n.stack:null,c="rgba(200,200,200, 0.5)",f={padding:"0.5rem",backgroundColor:c},h={padding:"2px 4px",backgroundColor:c},d=null;return console.error("Error handled by React Router default ErrorBoundary:",n),d=T.createElement(T.Fragment,null,T.createElement("p",null,"💿 Hey developer 👋"),T.createElement("p",null,"You can provide a way better UX than this when your app throws errors by providing your own ",T.createElement("code",{style:h},"ErrorBoundary")," or"," ",T.createElement("code",{style:h},"errorElement")," prop on your route.")),T.createElement(T.Fragment,null,T.createElement("h2",null,"Unexpected Application Error!"),T.createElement("h3",{style:{fontStyle:"italic"}},r),s?T.createElement("pre",{style:f},s):null,d)}var Bx=T.createElement(Lx,null),Hg=class extends T.Component{constructor(n){super(n),this.state={location:n.location,revalidation:n.revalidation,error:n.error}}static getDerivedStateFromError(n){return{error:n}}static getDerivedStateFromProps(n,r){return r.location!==n.location||r.revalidation!=="idle"&&n.revalidation==="idle"?{error:n.error,location:n.location,revalidation:n.revalidation}:{error:n.error!==void 0?n.error:r.error,location:r.location,revalidation:n.revalidation||r.revalidation}}componentDidCatch(n,r){this.props.onError?this.props.onError(n,r):console.error("React Router caught the following error during render",n)}render(){let n=this.state.error;if(this.context&&typeof n=="object"&&n&&"digest"in n&&typeof n.digest=="string"){const s=Mx(n.digest);s&&(n=s)}let r=n!==void 0?T.createElement(Cl.Provider,{value:this.props.routeContext},T.createElement(Cd.Provider,{value:n,children:this.props.component})):this.props.children;return this.context?T.createElement(Qx,{error:n},r):r}};Hg.contextType=Ag;var Ff=new WeakMap;function Qx({children:n,error:r}){let{basename:s,navigator:c}=T.useContext(ll);if(typeof r=="object"&&r&&"digest"in r&&typeof r.digest=="string"){let f=jx(r.digest);if(f){let h=Ff.get(r);if(h)throw h;let d=Rg(f.location,s),v=d.absoluteURL||d.to;if(Nd(f.location,v,Td(c),"allow-explicit"),Cx(v))throw new Error("Invalid redirect location");if(Og&&!Ff.get(r))if(d.isExternal||f.reloadDocument)window.location.href=v;else{const b=Promise.resolve().then(()=>window.__reactRouterDataRouter.navigate(d.to,{replace:f.replace}));throw Ff.set(r,b),b}return T.createElement("meta",{httpEquiv:"refresh",content:`0;url=${v}`})}}return n}function Gx({routeContext:n,match:r,children:s}){let c=T.useContext($i);return c&&c.static&&c.staticContext&&(r.route.errorElement||r.route.ErrorBoundary)&&(c.staticContext._deepestRenderedBoundaryId=r.route.id),T.createElement(Cl.Provider,{value:n},s)}function Yx(n,r=[],s){let c=s==null?void 0:s.state;if(n==null){if(!c)return null;if(c.errors)n=c.matches;else if(r.length===0&&!c.initialized&&c.matches.length>0)n=c.matches;else return null}let f=n,h=c==null?void 0:c.errors;if(h!=null){let x=f.findIndex(p=>p.route.id&&(h==null?void 0:h[p.route.id])!==void 0);We(x>=0,`Could not find a matching route for errors on route IDs: ${Object.keys(h).join(",")}`),f=f.slice(0,Math.min(f.length,x+1))}let d=!1,v=-1;if(s&&c){d=c.renderFallback;for(let x=0;x=0?f=f.slice(0,v+1):f=[f[0]];break}}}}let b=s==null?void 0:s.onError,g=c&&b?(x,p)=>{var z,q;b(x,{location:c.location,params:((q=(z=c.matches)==null?void 0:z[0])==null?void 0:q.params)??{},pattern:Ex(c.matches),errorInfo:p})}:void 0;return f.reduceRight((x,p,z)=>{let q,G=!1,L=null,U=null;c&&(q=h&&p.route.id?h[p.route.id]:void 0,L=p.route.errorElement||Bx,d&&(v<0&&z===0?(qg("route-fallback",!1,"No `HydrateFallback` element provided to render during initial hydration"),G=!0,U=null):v===z&&(G=!0,U=p.route.hydrateFallbackElement||null)));let Q=r.concat(f.slice(0,z+1)),Y=()=>{let Z;return q?Z=L:G?Z=U:p.route.Component?Z=T.createElement(p.route.Component,null):p.route.element?Z=p.route.element:Z=x,T.createElement(Gx,{match:p,routeContext:{outlet:x,matches:Q,isDataRoute:c!=null},children:Z})};return c&&(p.route.ErrorBoundary||p.route.errorElement||z===0)?T.createElement(Hg,{location:c.location,revalidation:c.revalidation,component:L,error:q,children:Y(),routeContext:{outlet:null,matches:Q,isDataRoute:!0},onError:g}):Y()},null)}function zd(n){return`${n} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function Vx(n){let r=T.useContext($i);return We(r,zd(n)),r}function Xx(n){let r=T.useContext(Ws);return We(r,zd(n)),r}function Kx(n){let r=T.useContext(Cl);return We(r,zd(n)),r}function Od(n){let r=Kx(n),s=r.matches[r.matches.length-1];return We(s.route.id,`${n} can only be used on routes that contain a unique "id"`),s.route.id}function Zx(){return Od("useRouteId")}function Jx(){var c;let n=T.useContext(Cd),r=Xx("useRouteError"),s=Od("useRouteError");return n!==void 0?n:(c=r.errors)==null?void 0:c[s]}function Fx(){let{router:n}=Vx("useNavigate"),r=Od("useNavigate"),s=T.useRef(!1);return Ug(()=>{s.current=!0}),T.useCallback(async(f,h={})=>{tl(s.current,Dg),s.current&&(typeof f=="number"?await n.navigate(f):await n.navigate(f,{fromRouteId:r,...h}))},[n,r])}var M0={};function qg(n,r,s){!r&&!M0[n]&&(M0[n]=!0,tl(!1,s))}T.memo($x);function $x({routes:n,manifest:r,future:s,state:c,isStatic:f,onError:h}){return kg(n,void 0,{manifest:r,state:c,isStatic:f,onError:h})}function D0({to:n,replace:r,state:s,relative:c}){We(Wi()," may be used only in the context of a component.");let{static:f,navigator:h}=T.useContext(ll);tl(!f," must not be used on the initial render in a . This is a no-op, but you should modify your code so the is only ever rendered in response to some user interaction or state change.");let{matches:d}=T.useContext(Cl),{pathname:v}=yl(),b=Ps(),g=$s(n,_d(d),v,c==="path");Nd(typeof n=="string"?n:Hn(n),h.createHref(g),Td(h),"reject");let x=JSON.stringify(g);return T.useEffect(()=>{b(JSON.parse(x),{replace:r,state:s,relative:c})},[b,x,c,r,s]),null}function Wx(n){return Hx(n.context)}function Gl(n){We(!1,"A is only ever to be used as the child of element, never rendered directly. Please wrap your in a .")}function Px({basename:n="/",children:r=null,location:s,navigationType:c="POP",navigator:f,static:h=!1,useTransitions:d}){We(!Wi(),"You cannot render a inside another . You should never have more than one in your app.");let v=n.replace(/^\/*/,"/"),b=T.useMemo(()=>({basename:v,navigator:f,static:h,useTransitions:d,future:{}}),[v,f,h,d]);typeof s=="string"&&(s=Ln(s));let{pathname:g="/",search:x="",hash:p="",state:z=null,key:q="default",mask:G}=s,L=T.useMemo(()=>{let U=ha(g,v);return U==null?null:{location:{pathname:U,search:x,hash:p,state:z,key:q,mask:G},navigationType:c}},[v,g,x,p,z,q,c,G]);return tl(L!=null,` is not able to match the URL "${g}${x}${p}" because it does not start with the basename, so the won't render anything.`),L==null?null:T.createElement(ll.Provider,{value:b},T.createElement(rr.Provider,{children:r,value:L}))}function Ix({children:n,location:r}){return qx(If(n),r)}function If(n,r=[]){let s=[];return T.Children.forEach(n,(c,f)=>{if(!T.isValidElement(c))return;let h=[...r,f];if(c.type===T.Fragment){s.push.apply(s,If(c.props.children,h));return}We(c.type===Gl,`[${typeof c.type=="string"?c.type:c.type.name}] is not a component. All component children of must be a or `),We(!c.props.index||!c.props.children,"An index route cannot have child routes.");let d={id:c.props.id||h.join("-"),caseSensitive:c.props.caseSensitive,element:c.props.element,Component:c.props.Component,index:c.props.index,path:c.props.path,middleware:c.props.middleware,loader:c.props.loader,action:c.props.action,hydrateFallbackElement:c.props.hydrateFallbackElement,HydrateFallback:c.props.HydrateFallback,errorElement:c.props.errorElement,ErrorBoundary:c.props.ErrorBoundary,hasErrorBoundary:c.props.hasErrorBoundary===!0||c.props.ErrorBoundary!=null||c.props.errorElement!=null,shouldRevalidate:c.props.shouldRevalidate,handle:c.props.handle,lazy:c.props.lazy};c.props.children&&(d.children=If(c.props.children,h)),s.push(d)}),s}var Vs="get",Xs="application/x-www-form-urlencoded";function Is(n){return typeof HTMLElement<"u"&&n instanceof HTMLElement}function eS(n){return Is(n)&&n.tagName.toLowerCase()==="button"}function tS(n){return Is(n)&&n.tagName.toLowerCase()==="form"}function lS(n){return Is(n)&&n.tagName.toLowerCase()==="input"}function aS(n){return!!(n.metaKey||n.altKey||n.ctrlKey||n.shiftKey)}function nS(n,r){return n.button===0&&(!r||r==="_self")&&!aS(n)}function ed(n=""){return new URLSearchParams(typeof n=="string"||Array.isArray(n)||n instanceof URLSearchParams?n:Object.keys(n).reduce((r,s)=>{let c=n[s];return r.concat(Array.isArray(c)?c.map(f=>[s,f]):[[s,c]])},[]))}function iS(n,r){let s=ed(n);return r&&r.forEach((c,f)=>{s.has(f)||r.getAll(f).forEach(h=>{s.append(f,h)})}),s}var Bs=null;function uS(){if(Bs===null)try{new FormData(document.createElement("form"),0),Bs=!1}catch{Bs=!0}return Bs}var rS=new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);function $f(n){return n!=null&&!rS.has(n)?(tl(!1,`"${n}" is not a valid \`encType\` for \`
\`/\`\` and will default to "${Xs}"`),null):n}function sS(n,r){let s,c,f,h,d;if(tS(n)){let v=n.getAttribute("action");c=v?ha(v,r):null,s=n.getAttribute("method")||Vs,f=$f(n.getAttribute("enctype"))||Xs,h=new FormData(n)}else if(eS(n)||lS(n)&&(n.type==="submit"||n.type==="image")){let v=n.form;if(v==null)throw new Error('Cannot submit a