From c62599a8f2b2cfbd35948c4926d0d1946e0e2194 Mon Sep 17 00:00:00 2001 From: zlt Date: Mon, 27 Jul 2026 09:05:52 +0800 Subject: [PATCH] first commit --- ARCHITECTURE.md | 134 ++++++++++++ DATA_MODEL.md | 323 ++++++++++++++++++++++++++++ Makefile | 26 +++ README.md | 136 ++++++++++++ as-event-v0.1.tar.gz | Bin 0 -> 363141 bytes backend/Dockerfile | 17 ++ backend/app/__init__.py | 0 backend/app/api.py | 382 +++++++++++++++++++++++++++++++++ backend/app/config.py | 71 ++++++ backend/app/db.py | 137 ++++++++++++ backend/app/etl.py | 169 +++++++++++++++ backend/app/importers.py | 128 +++++++++++ backend/app/main.py | 50 +++++ backend/app/schemas.py | 65 ++++++ backend/app/signals.py | 130 +++++++++++ backend/app/sources.py | 202 +++++++++++++++++ backend/requirements.txt | 8 + ddl/etf_import_template.csv | 4 + ddl/event_import_template.csv | 6 + ddl/own_db_init.sql | 85 ++++++++ docker-compose.yml | 34 +++ frontend/index.html | 321 +++++++++++++++++++++++++++ frontend/vendor/echarts.min.js | 45 ++++ 23 files changed, 2473 insertions(+) create mode 100644 ARCHITECTURE.md create mode 100644 DATA_MODEL.md create mode 100644 Makefile create mode 100644 README.md create mode 100644 as-event-v0.1.tar.gz create mode 100644 backend/Dockerfile create mode 100644 backend/app/__init__.py create mode 100644 backend/app/api.py create mode 100644 backend/app/config.py create mode 100644 backend/app/db.py create mode 100644 backend/app/etl.py create mode 100644 backend/app/importers.py create mode 100644 backend/app/main.py create mode 100644 backend/app/schemas.py create mode 100644 backend/app/signals.py create mode 100644 backend/app/sources.py create mode 100644 backend/requirements.txt create mode 100644 ddl/etf_import_template.csv create mode 100644 ddl/event_import_template.csv create mode 100644 ddl/own_db_init.sql create mode 100644 docker-compose.yml create mode 100644 frontend/index.html create mode 100644 frontend/vendor/echarts.min.js diff --git a/ARCHITECTURE.md b/ARCHITECTURE.md new file mode 100644 index 0000000..c9ae47c --- /dev/null +++ b/ARCHITECTURE.md @@ -0,0 +1,134 @@ +# A股大事记录 / 大周期择时看板 · 架构设计 + +> 目标:把 **指数日成交量、ETF流入、股民情绪、重大事件** 四类信息按时间轴叠加到 +> **上证综指 / 创业板指 / 科创50** 的指数K线上,形成一份 A 股「大事记录」, +> 用于辅助判断 A 股 **大周期的顶与底**。 +> +> 本文件是设计基线,随迭代更新。数据字段口径参考同目录 `DATA_MODEL.md`。 + +--- + +## 1. 设计原则与关键决策 + +| 决策点 | 结论 | 说明 | +|---|---|---| +| 数据来源 | **直连现有内网库** + 自有库 | 指数收盘/成交额直读 `zs_day_data`(MySQL-A 18.199),情绪直读 `gp_market_sentiment`(PG 16.150);本系统另建**自有 Postgres** 存事件、ETF、派生指标与本地快照。 | +| 指数 OHLC | **可插拔 Provider,暂缺** | 现有 `zs_day_data` 只有 `close`,无开/高/低,画不了完整蜡烛图。OHLC 源由你后续提供,系统预留 `OHLCProvider` 接口;未接入时**退化为收盘线**(`ohlc_source='close_only'`),接入后自动转蜡烛图。 | +| ETF & 事件 | **人工录入为主 + 自动化接口预留** | 提供 Web 表单录入 + CSV 导入模板;`importers.py` 预留 `EventImporter`/`EtfFlowImporter` 接口,未来可挂新闻/公告/资金流抓取。 | +| 前端 | **FastAPI + ECharts** | 单页看板:蜡烛图 + 成交量副图 + 情绪/温度副图 + 事件打点;切换指数、缩放、看事件详情。 | +| 部署 | **Docker Compose** | `db`(自有 Postgres) + `backend`(FastAPI,含静态前端)。外部内网库 DSN 走环境变量,可缺省降级。 | +| 数据落地 | **读→同步→自有库→看板** | ETL 从内网库拉取并落一份到自有库;看板只读自有库,保证「大事记录」自包含、可离线回看、事件可长期叠加。 | + +### 为什么不直接在看板里跨库实时查? +「大事记录」要长期留存、可离线回看、和事件长期叠加,且要跨 MySQL + PG 联合出图。 +因此采用 **ETL 同步进自有库** 的读写分离:内网库只在同步时被读,看板永远读自有库, +既尊重「直连现有库」的选择,又让系统自包含、易 Docker 化、查询快。 + +--- + +## 2. 系统拓扑 + +``` + 外部(现有内网库,只读) + ┌──────────────────────────────┐ ┌──────────────────────────────┐ + │ MySQL-A 192.168.18.199 │ │ PostgreSQL 192.168.16.150 │ + │ zs_day_data(指数 close/额) │ │ gp_market_sentiment(情绪) │ + └───────────────┬──────────────┘ └───────────────┬──────────────┘ + │ (LEGACY_MYSQL_DSN) │ (LEGACY_PG_DSN) + ▼ ▼ + ┌───────────────────────────────────────────────────────────┐ + │ backend (FastAPI 容器) │ + │ sources.py —— 现有库读适配 + 可插拔 OHLCProvider(预留) │ + │ etl.py —— 同步 index_daily / sentiment_daily │ + │ importers.py—— ETF/事件 CSV导入 + 自动化接口(预留) │ + │ signals.py —— 顶底「市场温度」透明启发式 │ + │ api.py —— REST 接口 │ + │ frontend/index.html —— ECharts 看板(静态挂载) │ + └───────────────────────────┬───────────────────────────────┘ + │ (OWN_DB_DSN) + ▼ + ┌──────────────────────────────┐ + │ db: 自有 Postgres(容器) │ + │ index_daily / sentiment_daily│ + │ etf_flow / market_event │ + │ cycle_annotation │ + └──────────────────────────────┘ +``` + +--- + +## 3. 指数范围 + +| 名称 | 代码(dot式) | zs_day_data 有 | 说明 | +|---|---|---|---| +| 上证综指 | `000001.SH` | ✅ | 主看盘 | +| 创业板指 | `399006.SZ` | ✅ | 成长/科技情绪 | +| 科创50 | `000688.SH` | ✅ | 科创板代表指数(科创板本身无指数,用科创50代理) | +| 深证成指 | `399001.SZ` | ✅ | 可选,默认关闭 | + +代码统一用 **dot 式**(`000001.SH`),与 `zs_day_data.symbol` 一致,避免格式互转。 + +--- + +## 4. 数据模型(自有库) + +详见 `ddl/own_db_init.sql` 与 `backend/app/db.py`。摘要: + +- **`index_daily`** — 指数日线(同步落地):`index_code, trade_date, open/high/low/close, volume, amount, pct_chg, turnover_rate, ohlc_source`。唯一键 `(index_code, trade_date)`。 +- **`sentiment_daily`** — 情绪日度:`trade_date, up_down_ratio, median_pct_chg, pct_chg_gt_5_count, limit_up/down_count, margin_balance, new_accounts, sentiment_score`。 +- **`etf_flow`** — ETF 流入(人工/导入/自动):`trade_date, etf_code, etf_name, category, related_index, net_inflow(亿元), shares_change, source, note`。 +- **`market_event`** — 重大事件:`event_date, title, category(监管/IPO/政策/资金/外部/其他), impact_direction(bullish/bearish/neutral), severity(1-5), related_indices, cycle_tag(top/bottom/none), description, source_url, source(manual/import/auto)`。 +- **`cycle_annotation`** — 人工顶底标注(复盘用):`index_code, anno_date, kind(top/bottom/watch), note`。 + +--- + +## 5. 顶底信号方法论(`signals.py`,透明可调) + +不做黑盒。综合几个 A 股经典的顶底极值信号,产出每日 **市场温度 0–100** 与离散标记: + +| 分量 | 顶部含义 | 底部含义 | 计算 | +|---|---|---|---| +| 量能分位 `vol_pct` | 天量见天价 | 地量见地价 | `amount` 在滚动 N 日(默认250)的百分位 | +| 价格分位 `price_pct` | 高位 | 低位 | `close` 在滚动 N 日的百分位 | +| 情绪分 `sentiment` | 涨停潮/普涨亢奋 | 跌停潮/普跌冰点 | `up_down_ratio`、`pct_chg_gt_5_count` 归一 | +| ETF资金 `etf_z` | 大额净流出 | 大额净流入(国家队) | 净流入 z-score | + +**市场温度** = 各分量加权(默认权重写在 `signals.py` 顶部,便于你用自己数据回测调参)。 +温度 >80 记 **过热/顶部风险**,<20 记 **冰点/底部机会**,并在看板上以**热力带 + 标记**呈现。 + +> 权重与阈值是初值,需你在实机用历史数据回测校准;方法论刻意保持透明,不追求复杂模型。 + +--- + +## 6. 接口一览(REST) + +| 方法 | 路径 | 说明 | +|---|---|---| +| GET | `/api/health` | 健康检查(含各库连通性) | +| GET | `/api/index/list` | 可用指数列表 | +| GET | `/api/index/{code}/kline?start=&end=` | K线(OHLC/收盘)+成交量+温度 | +| GET | `/api/sentiment?start=&end=` | 情绪日度序列 | +| GET | `/api/etf?start=&end=&index=` | ETF 流入序列 | +| GET/POST/PUT/DELETE | `/api/events` | 事件 CRUD(人工录入) | +| POST | `/api/events/import` `/api/etf/import` | CSV 导入 | +| GET | `/api/signals?code=&start=&end=` | 顶底温度与离散标记 | +| POST | `/api/sync/index` `/api/sync/sentiment` | 触发 ETL(也可 CLI/定时) | + +--- + +## 7. 部署与运维 + +- `docker compose up -d` 起 `db` + `backend`;前端由 backend 静态挂载,浏览器访问 `:8000`。 +- 内网库 DSN(`LEGACY_MYSQL_DSN` / `LEGACY_PG_DSN`)经 `.env` 注入;**留空则该同步自动跳过**(降级不报错)。 +- ETL:`docker compose exec backend python -m app.etl sync-index --start 20240101`;后续可挂 cron / APScheduler。 +- 开发机 ↔ 服务器:**git 同步代码**;数据不入库随代码走。每个里程碑提示提交。 + +--- + +## 8. 里程碑 + +1. ✅ 架构 + 骨架 + Docker + 自有库DDL +2. ✅ 数据源适配 + ETL + API + 顶底信号 +3. ✅ ECharts 看板 + 事件录入/导入 +4. ⏳ 实机联调(你跑测试回传)→ OHLC 源接入 → 顶底权重校准 +5. ⏳ 自动化接入(ETF/事件抓取)按需开启 diff --git a/DATA_MODEL.md b/DATA_MODEL.md new file mode 100644 index 0000000..89771d5 --- /dev/null +++ b/DATA_MODEL.md @@ -0,0 +1,323 @@ +# Bionic Trader 数据模型 + +> 全部库表、Milvus 集合、Redis 键与 MongoDB 集合的 Schema 与上下游关系。存储拓扑与连接配置见 `ARCHITECTURE.md` §2.2。 + +约定: +- 股票代码在不同库里有两种格式 —— **交易所前缀式**(`SH600000` / `SZ000001`,`strategy_daily_results`、`gp_day_data`、**因子分表 `gp_stock_factor_pro_*` 的 `symbol`** 用)与 **Tushare 式**(`600000.SH` / `000001.SZ`,PG、行情 Redis、盘中告警流用)。代码里通过 `parts[1]+parts[0]` 互转。 + > ⚠️ 2026-07-07 实测更正:因子分表 `symbol` 为**前缀式**(`SH603501` 命中、`603501.SH` 查空),早期文档误记为 Tushare 式。全链取数一律传前缀式给 `DataLoader`。 +- 日期同样有两种:`INT YYYYMMDD`(`strategy_daily_results`、`trade_date`)与 `DATE`/`DATETIME`。 + +--- + +## 1. MySQL-A · 本地库 `db_gp_cj`(192.168.18.199) + +原始行情与筹码,主要供旧形态线与宏观情绪使用。 + +### 1.1 `gp_day_data` — 原始日线(模型 `DayData`) + +⚠️ 价格字段是 **VARCHAR**,读出后必须 `pd.to_numeric` 转换。 + +| 字段 | 类型 | 说明 | +|---|---|---| +| `id` | BIGINT PK | 自增 | +| `symbol` | VARCHAR(255) idx | 个股代码 | +| `timestamp` | DATETIME idx | 交易时间 | +| `volume` | BIGINT | 成交量 | +| `open` / `high` / `low` / `close` | VARCHAR(255) | 价格(字符串存储) | +| `chg` | VARCHAR | 涨跌额 | +| `percent` | DECIMAL(10,2) | 涨跌幅 % | +| `turnoverrate` | DECIMAL(10,2) | 换手率 | +| `amount` | BIGINT | 成交额 | +| `pb` / `pe` / `ps` | DECIMAL(10,2) | 估值 | +| `pre_close` | DECIMAL(10,2) | 前收 | + +消费者:`slicer.py`(旧)、`backtester.py`/`tasks_backtest.py`(旧)、`visualizer.py`(旧)、`curve_algo._fetch_future_prices`、**`DataLoader._append_raw_daily_fallback`(V7.2 日线兜底:因子分表尾部缺行时按重叠日对账后补尾,2026-07-07 起)**。 + +### 1.2 `gp_chip_data` — 筹码分布 + +| 字段 | 说明 | +|---|---| +| `symbol`, `trade_date` | 主键维度 | +| `winner_rate` | 获利盘比例 | +| `cost_5pct` / `cost_50pct` / `cost_95pct` | 成本分位 | + +消费者:`data_loader.fetch_chip_data` → `get_resistance_support_map`(算支撑压力)。 + +### 1.3 `zs_day_data` — 大盘指数日线 + +| 字段 | 说明 | +|---|---| +| `symbol` | 指数代码(000001.SH / 399001.SZ / 000688.SH / 399006.SZ) | +| `timestamp` | 日期 | +| `close` | 收盘 | +| `percent` | 涨跌幅 | +| `amount` | 成交额 | + +消费者:`MarketSentimentAnalyzer`(大脑第 3 步「水温」)、`GlobalIndexLoader`(Miner,预留)。 + +> **注意**:`intraday_watcher` 读 `strategy_daily_results` 走 `PROXY_DB_URL`(ShardingSphere 代理 192.168.16.153:3307,已前置 16.150 主业务库),与日终主链路写入库(`SOURCE_DB_EXT_DSN`/16.150)一致,**不读本库**。早期文档误记为本库(`DB_MYSQL_URL`/18.199),已订正。 + +--- + +## 2. MySQL-B · 外部主业务库 `factordb_mysql`(192.168.16.150) + +系统的运行主库。`tasks_brain.db_engine` 与 `daily_scan_v2.engine` 都指向这里。 + +### 2.1 `gp_stock_factor_pro_YYYYMM` — 按月分表的前复权因子(核心特征源) + +每月一张表(如 `gp_stock_factor_pro_202405`)。`data_loader._get_sharded_table_names` 按日期范围拼 `UNION ALL` 查询。 + +关键字段(`data_loader.fetch_technical_factors` 选取): + +| 字段 | 说明 | +|---|---| +| `symbol`(→ts_code), `trade_date` | 维度 | +| `close_qfq` / `open_qfq` / `high_qfq` / `low_qfq` | 前复权 OHLC | +| `pct_chg`, `vol`, `amount`, `turnover_rate`, `volume_ratio` | 量价 | +| `pe_ttm`, `pb`, `total_mv`, `circ_mv` | 估值/市值 | +| `macd_dif_qfq` / `macd_dea_qfq` / `macd_qfq` | MACD | +| `kdj_k_qfq` / `kdj_d_qfq` / `kdj_qfq` | KDJ | +| `rsi_qfq_12`, `atr_qfq`, `cci_qfq` | RSI/ATR/CCI | +| `boll_upper_qfq` / `boll_lower_qfq` / `boll_mid_qfq` | 布林带 | +| `obv_qfq` | **OBV(向量「资金」通道的核心,缺它则降级用 vol)** | + +消费者:`DataLoader.get_daily_data`(几乎所有模块的行情入口)、`FactorCalculator`(在线向量)、`MinerController`(离线向量)。 + +### 2.2 `strategy_daily_results` — 核心产出表 + +系统最终结论落库于此。**无随代码提供的建表 DDL,需手工建立**(建表语句见 `DEPLOYMENT.md` §4)。写入方 `tasks_brain.save_to_database`(`INSERT ... ON DUPLICATE KEY UPDATE`,唯一键应为 `(stock_code, trade_date)`)。 + +| 字段 | 类型 | 说明 | +|---|---|---| +| `stock_code` | VARCHAR | 交易所前缀式(`SZ000001`) | +| `trade_date` | INT | YYYYMMDD | +| `signal_type` | VARCHAR | `BUY` / `WATCH` / `SELL` / `DROPPED`(`AVOID` 入库时映射为 `SELL`) | +| `confidence_score` | INT | 0–100 | +| `support_level` / `pressure_level` | DECIMAL | 支撑/压力位 | +| `analysis_summary` | TEXT | 中文研报(Markdown) | +| `raw_logic_json` | TEXT/JSON | 完整 decision JSON(含 `forecast` / `forecast_script`) | +| `visual_pattern` | VARCHAR | 视觉识别形态 | +| `smart_score` | FLOAT | 资金评分 | +| `updated_at` | DATETIME | 更新时间 | + +消费者:`/api/pool`、`/api/stock/{code}`、`/api/v1/reports/export_csv`、`DailyInspector`(对账)、`ReviewerAgent`(取上次结论)、`intraday_watcher`(取昨日底牌)。 + +### 2.3 `strategy_audit_log` — 审计日志(自动建表) + +`daily_scan_v2._init_audit_table` 启动时自动 `CREATE TABLE IF NOT EXISTS`。 + +| 字段 | 说明 | +|---|---| +| `id` | PK 自增 | +| `stock_code` | 代码 | +| `audit_date` | INT 审计日 | +| `strategy_date` | INT 被审策略日 | +| `verdict` | `MAINTAIN` / `ADAPT` / `FAIL` | +| `reason` | TEXT 审计理由(截断 2000) | +| `created_at` | DATETIME | +| INDEX | `idx_code_date(stock_code, audit_date)` | + +### 2.4 `gp_stock_category` — 行业归属 + +| 字段 | 说明 | +|---|---| +| `ts_code`, `trade_date` | 维度(按日期变化,支持历史行业切换) | +| `industry` | 行业名称 | + +消费者:`SectorMapper`(全内存加载 + 二分查找历史行业;行业名 CRC32 哈希成 int ID)、`data_loader.fetch_sector_info`。 + +### 2.5 `trading_position` — 持仓快照(下游维护,经 153 代理读取) + +由下游交易系统维护的**当前持仓**快照表,完整 DDL 不在本项目。本系统一律经 `PROXY_DB_URL`(153 代理)做**单表 SELECT**(代理禁多表联查),且**仅消费 `stock_code` 一列**。 + +消费者:`periodic.position_intraday_check`(持仓体检轮询,见 PIPELINES ⑥)、`alert_query_service.query_alerts_by_positions`(`by_positions` 告警聚合)。 + +> 表内 `stock_code` 已实测确认为**点式**(如 `000636.SZ`,2026-07-03 查证)。持仓体检的 TP_BRAIN 锁键继承表内原文 = 点式,与告警侧锁互认成立;告警聚合侧另有双格式兼容兜底。 + +--- + +## 3. PostgreSQL · `factordb`(192.168.16.150) + +量化评分、资金流、市场情绪。 + +### 3.1 `t_signal_daily_results` — 量化评分(选股淘金源) + +| 字段 | 说明 | +|---|---| +| `ts_code`, `trade_date`(DATE) | 维度 | +| `total_score` | 综合评分(**小数 0~1,代码里 ×100 转百分制**) | + +消费者: +- `daily_scan_v2.get_quant_score`:取当日评分作为 Smart Score 传给大脑。 +- `daily_scan_v2.get_discovery_queue`:淘金池筛选(最新日 `total_score > 0.9` 且较 5 日前上升)。 + +### 3.2 资金流系列(模型 `MoneyFlow` / `ConceptMoneyFlow` / `IndustryMoneyFlow`) + +- `gp_moneyflow_ths` — 个股资金流:`trade_date, symbol, ts_code, name, pct_change, latest, net_amount, net_d5_amount, buy_lg/md/sm_amount(+_rate)`。 +- `gp_concept_moneyflow_ths` — 概念资金流:`concept_code, concept_name, lead_stock, net_buy/sell/net_amount` 等。 +- `gp_industry_moneyflow_ths` — 行业资金流:结构同概念。 + +> 这些表已建模,但在当前 V6 主链路中未见直接消费(资金维度主要通过 PG 的 `total_score` 与因子表的 `obv_qfq` 体现)。 + +### 3.3 其它(`data_loader` 读取) + +- `gp_market_sentiment`:`trade_date, up_down_ratio, median_pct_chg, pct_chg_gt_5_count`。 +- `gp_sector_daily`:`trade_date, sector_name, avg_pct_chg, relative_strength, leader_stock`。 + +### 3.4 `gp_pattern_analysis` — 旧形态线(模型 `PatternAnalysis`) + +⚠️ 属已废弃管线(见 `ARCHITECTURE.md` §7)。字段:`symbol, start_date, end_date, pattern_name, is_bullish, confidence, analysis_json(JSONB), theoretical_curve(JSONB), context_snapshot(JSONB), backtest_status, similarity_score, actual_return, exit_date, holding_days`。`backtest_status` 流转:`PENDING_RENDERING → PENDING → FINISHED/INVALID/CANCELLED/WIN/LOSS/TIMEOUT`。 + +--- + +## 4. MongoDB · `stock_predictions`(192.168.16.222) + +### `stock_groups` — 核心选股池 + +每个文档含一个 `stock_codes` 数组字段。`daily_scan_v2.get_mongo_stock_pool` 汇总所有文档的 `stock_codes`,过滤出以 `SH`/`SZ` 开头的代码去重后作为核心池。 + +--- + +## 5. Redis-B · 行情/信号实例(192.168.18.208) + +> 注意:Celery 总线(`REDIS_URL`,16.150 db7)不在此列。库号经 `settings.SIGNAL_REDIS_DB_*` 配置。 + +### 5.1 db 2(`SIGNAL_REDIS_DB_INTRADAY`)— 盘中告警与信号 + +| 键 | 类型 | 方向 | 说明 | +|---|---|---|---| +| `intraday_alerts:{YYYY-MM-DD}` | Stream | 上游写 / watcher 读 | 离散告警(consumer group `bionic_audit_group`) | +| `mtf:intraday:stream:metrics` | Stream | 上游写 / watcher 读 | 事件式资金异动告警(2026-06 协议升级,字段 `direction/z/mode/window_net/cum_large_amount`;旧 `smart_score` 协议过渡兼容) | +| `intraday_signals:{YYYY-MM-DD}` | Stream | `tasks_intraday.broadcast_signal` 写 | ENTRY/EXIT 反转/止盈信号(见 5.4) | +| `bionic:signal_timeline:{date}:{ts_code}` | List | watcher 读写 | 当日该股信号时间线(喂给风控仲裁),TTL 12h | +| `bionic_lock:{type}:{date}:{ts_code}` | String | watcher / tasks_risk / tasks_periodic | 防抖锁。碰撞类 BREAK_*/BULLISH_BRAIN/COLD_START_RESCAN/TP_BRAIN TTL 2h(**TP_BRAIN 由告警止盈评估与持仓体检共用同一把锁**,体检写入值 `holding_check`;无价/异常时体检会释放锁供下轮重试);METRICS_RISK 30min;**ENTRY_GATE 30min(建仓仲裁同股重判节流,context 构造失败时释放供下轮重试)**;**RESCAN_GLOBAL 5min(统一重算节流,跨碰撞/风控/止盈/冷启动去重)** | +| `bionic:internal_alerts_state:{date}` | Hash | watcher | 收件箱去重 + 处理状态,TTL 48h | +| `bionic:risk_rescan:{ymd}:{ts_code}` | Hash | tasks_risk | SELL→重算高水位(`hwm_conf/last_ts`),TTL 1 天 | + +> **资金告警**:`capital_accumulation`(放量吸筹,UP)/ `capital_distribution`(放量出货,DOWN)为上游告警流新增源,`metadata` 含 `main_net_ratio/divergence/purified_volume`,watcher 经 `_enrich_capital_semantics` 拼成带数字的证据描述喂大脑。`Massive_Outflow` / `Massive_Inflow` 则是 watcher 对 metrics 流(mode=z)的合成告警记录(`value=z`、`metadata` 携 direction/z/mode/window_net/cum),压入时间线供风控仲裁消费。 + +> **收件箱状态码**(`bionic:internal_alerts_state:{date}` 的 `{uid}:status` 取值): +> - 看多:`BULLISH_DISPATCHED` / `BULLISH_IMMUNE`(昨日已BUY/MAINTAIN且未达DANGER止盈门槛)/ `BULLISH_COLDSTART` / `BULLISH_LOCKED` +> - 止盈:`TP_DISPATCHED`(持仓+DANGER派发止盈研判)/ `TP_LOCKED` / `TP_NO_BASELINE` +> - 碰撞:`COLLIDE_DISPATCHED` / `COLLIDE_IMMUNE` / `COLLIDE_NO_BREAK`(未破位拦截)/ `COLLIDE_NO_PRICE` / `COLLIDE_LOCKED` / `COLLIDE_COLDSTART` +> - 风控(DOWN/metrics流出):`RISK_TRIGGERED` / `RISK_COOLDOWN`(30min锁命中) +> - metrics 暖机:`OUTFLOW_COLD_LOGGED` / `INFLOW_COLD_LOGGED`(mode=cold 仅留痕) +> - 组合形式:DOWN/流出写 `{风控状态}|{碰撞状态}`(如 `RISK_TRIGGERED|COLLIDE_NO_BREAK`);流入写 `INFLOW|{TP_*或COLLIDE_*}`。 +### 5.2 db 3(`SIGNAL_REDIS_DB_ACTIONS`)— 风控卖出指令 + +| 键 | 类型 | 说明 | +|---|---|---| +| `bionic:signals:llm_sell_actions` | Stream | `tasks_risk` 写 SELL(见 5.5),`/api/v1/risk/sell_signals` 读 | + +### 5.3 db13(`SIGNAL_REDIS_DB_QUOTES`)— 实时行情 + +| 键 | 类型 | 说明 | +|---|---|---| +| `tushare:rt_min:1MIN:{ts_code}` | String | 每股一个 key(`ts_code` 为 Tushare 式,拼在键名内)。值为**当日分钟 K 线 JSON 数组**,每根含 `open/close/high/low/vol/amount`,时间正序。取现价 = `json.loads(get(key))[-1]['close']`(用 `get` 取整个 key,顶层是 list,取最后一根 `[-1]`)。`intraday_watcher` 与 `tasks_risk` 均按此读取。 | + +### 5.4 ENTRY/EXIT 信号 Payload(`intraday_signals` 流,扁平结构) + +`schema_version, signal_id, ts_code, trade_date, trigger_time, producer_id="bionic_brain_intraday_v2.0", action(BUY/SELL), signal_type(ENTRY/EXIT), verdict(REVERSAL_SELL/REVERSAL_BUY/TAKE_PROFIT,统一区分止损/入场/止盈离场;下游不识别可忽略), suggested_price, confidence, in_candidate_pool, signal_validity(JSON, 含 expires_at/ttl_seconds=300), audit_reason, component_scores, pred_upside, pred_downside`。 + +> **同股同日下游消费规则(B1)**:同一 `ts_code` 多条信号按 stream 消息 ID 时序**后写覆盖先写**;大脑审计信号(`producer_id="bionic_brain_intraday_v2.0"` 且 `verdict` 非空)为对上游原始信号的知情二审,语义上覆盖上游 ENTRY/EXIT。解决上游 `intraday_buy_emitted` 自写 ENTRY 与我方 TAKE_PROFIT 同流并存的方向冲突。 + +### 5.5 SELL 指令 Payload(`llm_sell_actions` 流) + +包在 `{"data": }` 中:`ts_code, action="SELL", confidence, dominant_signal, llm_reason, is_fallback, timestamp(ms)`。`dominant_signal` 为风控仲裁的主导信号枚举(如 `daily_qrs_symmetric_down/Massive_Outflow/...`),**新增 `take_profit`**——由持仓止盈(`tasks_intraday._emit_sell_action`)写入,下游据此区分"风控止损卖出"与"止盈离场"。 + +### 5.6 上游单股信号查询 API(192.168.16.188:28000,非 Redis) + +上游提供的**纯 HTTP 按需计算**接口(单股冷算,无需预热),响应条目格式对齐 db2 告警流。当前唯一消费者:持仓体检 `workers/holding_check.py`(每次体检即时拉取,超时 4s)。 + +| 端点(GET,参数 `ts_code` 点式) | 内容 | 体检 context 中的角色 | +|---|---|---| +| `/api/v1/qrs/minute` | 分钟级 QRS(盘中择时核心分量,需 ~30 根分钟窗口,约 10:00 起可用) | 第一部分·盘中实时信号现状 | +| `/api/v1/qrs/daily` | 日线 QRS | 同上 | +| `/api/v1/capital/distribution` | 资金分布(`main_net_ratio` / `divergence` / `purified_volume`,早盘提纯量可能不足) | 同上 | + +响应包络(本系统消费的字段面,完整 schema 以上游为准): + +```json +{"available": true, "reason": "...", "value": ..., "level": "WARNING|DANGER|...", + "metadata": {"direction": "...", "main_net_ratio": ..., "divergence": ..., "purified_volume": ...}} +``` + +降级语义:`available=false` / 超时 / HTTP 非 200 / 异常 → 取数函数一律返回 `None`,context 中该维度渲染为"未获取到(该维度当前无异常或数据未就绪)",**绝不中断体检**。 + +--- + +## 6. Milvus(`trader_milvus`:19530) + +### 6.1 `market_memories_v2` — 当前记忆库(活跃) + +向量口径:`z-score(close 64) + z-score(obv 64) = 128 维`(训练/推理一致,见 `ARCHITECTURE.md` §5)。索引 `L2 / IVF_FLAT`。 + +| 字段 | 类型 | 说明 | +|---|---|---| +| `stock_code` | VARCHAR | Tushare 式代码 | +| `trade_date` | INT64 | YYYYMMDD | +| `industry` | INT64 | 行业 CRC32 ID | +| `vector` | FLOAT_VECTOR(128) | 特征向量 | +| `score_smart` / `score_trend` / `score_chip` / `score_heat` | FLOAT | 影子分数(rolling rank 百分位) | +| `label_profit` | FLOAT | 后验:未来 20 日最高价收益率 | + +写:`MinerController._insert_to_milvus`(字段顺序须与上表一致)。读:`tasks_brain`(`anns_field="vector"`,`output_fields=[stock_code, trade_date, label_profit]`)。 + +> ⚠️ Miner 假设该集合**已存在**(`Collection("market_memories_v2")`),不会自动建表。首次部署需手工创建集合 + 索引,DDL/脚本见 `DEPLOYMENT.md` §5。 + +### 6.2 `market_failures_v1` — 失败记忆 + +完整 Schema(2026-07-09 实测穷举):`id`(主键) / `vector`(FLOAT_VECTOR 128) / `stock_code` / `fail_date`(INT64) / `reason`(VARCHAR) / `original_signal`(VARCHAR)。 + +读:`tasks_brain` 检索(`output_fields=[stock_code, reason]`),命中则在 Prompt 注入「痛苦记忆」。写:**2026-07-09 起由二期 L2 自动沉淀**(`meta_reflection.sink_failures`,每晚 ≤20 条,schema 自适应插入 + `decision_outcome.l2_sunk` 防重;早期为人工维护)。⚠️ 本环境 pymilvus 的 `str(dtype)` 返回枚举数字(101=FLOAT_VECTOR),判型须用 DataType 数字码。 + +### 6.3 `market_memories_v1` — 旧记忆库(已弃用) + +由 `memory_service.py` + `vectorizer.HolographicVectorizer`(60 日线 + 40 周线 + 20 量比 + 8 状态 = 128 维)维护,字段 `memory_id, stock_code, event_date, embedding(128), outcome_label, profit_20d, raw_data(json)`。已被 v2 取代,见 `ARCHITECTURE.md` §7。 + +--- + +## 7. 数据流向速查 + +| 数据 | 来源 | 去向 / 消费者 | +|---|---|---| +| 选股池 | Mongo `stock_groups` + PG `t_signal_daily_results` | `DailyCognitiveLoop` | +| 行情/因子 | MySQL-B `gp_stock_factor_pro_*` | `DataLoader` → 大脑/Miner | +| 特征向量 | `FactorCalculator`/`Miner` | Milvus `market_memories_v2` | +| 策略结论 | 大脑 `save_to_database` | MySQL-B `strategy_daily_results` → API/前端 | +| 盘中告警 | 上游 → Redis-B db2 | `intraday_watcher` → 风控/大脑 | +| 实时行情 | 上游 → Redis-B db13 | `intraday_watcher` | +| SELL 指令 | `tasks_risk` / 持仓止盈·体检 → Redis-B db3 | `/api/v1/risk/sell_signals` | +| ENTRY/EXIT | `tasks_intraday` → Redis-B db2 | 下游交易系统 | +| 持仓快照 | 下游交易系统 → `trading_position`(153 代理读) | `position_intraday_check`(体检)、`by_positions` 告警聚合、ENTRY_GATE(持仓数)、watch 扫描(持仓态) | +| 单股盘中信号 | 上游单股 API(188:28000,§5.6) | `holding_check` 体检 context | +| 建仓意向单 | 上游 → `trading_order` 状态 '7'(153 代理,§8.1) | `entry_gate_poll` 仲裁 → 置 '6' / 留 '7' | +| 决策账本 | 盘中裁决出口 → `decision_ledger`(§8.2) | ENTRY_GATE 交易史注入、L1 判分 | +| 关注条件 | 大脑布防 → `watch_conditions`(§8.4) | `watch_condition_scan` → CONDITION_HIT | +| 判分结果 | `outcome_scorer` → `decision_outcome`(§8.3) | 滚动摘要、L2/L3(二期) | + +--- + +## 8. 153 代理侧 · 决策闭环 V7 表 + +> 一律经 `PROXY_DB_URL` 访问,**严格单表**(代理禁多表联查;判分器用"两次单表查询 + 内存比对"替代 JOIN)。建表 DDL 见仓库根 `ddl_decision_loop_v7.sql`(2026-07-03 已在 153 侧手工建立)。设计详见 `DECISION_LOOP_DESIGN.md` §5。 + +### 8.1 `trading_buy_plan` — 买入计划表(仲裁状态机所在,2026-07-07 更正)+ `trading_order` — 成交执行表 + +> ⚠️ **表更正(2026-07-07 实盘发现)**:置 7 的状态机在 **`trading_buy_plan.is_active`**,不在 `trading_order.order_status`(设计对账时曾误按后者的 DDL 建轮询,上游切换上线首日暴露;fail-closed 期间无错误买入)。`trading_order` 仍是成交执行表,作 ENTRY_GATE **真实交易史**来源(completed/filled 双向单,严格模式/连败判定依据)。 + +`trading_buy_plan.is_active` 状态词汇(**2026-07-09 上游代码实证版**):`3`=盘中评估池(上游 orchestrator/intake **只认 3**)→ 上游评估触发时 `mark_intraday_triggered` 做 **3→7**(幂等守卫 `WHERE is_active=3`,同时经其 publisher 发带 `entry_score/price_band/target_price` 的买入信号)→ `7`=已触发待我方仲裁(**不进上游评估池、不产信号**;但仍在 M16 风控监控池)→ 我方 APPROVE 置 `6`=待挂单(下游取走置 `1`);`5`=上游盘中拒、`2`=盘前审。REJECT 留 7(上游不会再碰)。**V7.3(已启用)**:我方 REVERSAL_BUY 变盘裁决可将今日 `5` 翻案回 **`3`(回评估池,绝不直置 7——那是永无信号的死单)**,`approved_by='bionic_revive'` + `change_reason` 署名,上游重评估触发后经 3→7 进我方 gate 二审。我方写入词汇 = **{6, 3}**,其余状态不写。 + +本系统消费字段:`id`(仲裁回写锚,账本 ref=`plan_{id}`) / `stock_code`(点式) / `target_price`(**实为计划买入限价**) / `tp_ratio`/`sl_ratio`(换算上望位=买价×(1+tp)、止损位=买价×(1−sl),直接供 RR) / `buy_amount`(估算股数) / `strategy_id` / `factor_code`(来源池 TEMP_POOL/event_driven/TRADING_POOL) / `prob_thresh`/`hold_days` / `update_time`(置7时刻,FIFO)。仅取 `trading_time >= 当日` 的计划(隔日 7 单由上游过期机制处置)。回写仅一种:`UPDATE trading_buy_plan SET is_active=6, approved_by='bionic_gate' WHERE id=? AND is_active=7`。 + +### 8.2 `decision_ledger` — 决策账本(共用基座) + +每笔盘中裁决的结构化记账。写入方:ENTRY_GATE 出口(ENTRY_APPROVE/ENTRY_REJECT,`price_at` 必填=反事实判分锚)+ `process_intraday_audit` 通用落笔(REVERSAL_*/TAKE_PROFIT/MAINTAIN_HOLD/MAINTAIN,全 direction 含 CONDITION_HIT/HOLD_CHECK)。关键字段:`ts_code`(点式) / `kind` / `direction` / `price_at` / `ref_id`(order_id 或 cond_id) / `strategy_id` / `gate_mode`(normal/strict) / `extra_json`(严格模式 checklist) / `outcome_scored`(L1 位图: 1=T+1, 2=T+5, 4=T+20)。消费方:ENTRY_GATE 交易史注入、L1 判分。与 `strategy_audit_log` 分工:audit_log 记思考文本(人查),ledger 记结构化动作(机读)。 + +### 8.3 `decision_outcome` — L1 判分结果 + +维度键 `(ref_type, ref_id, horizon)` 唯一(INSERT IGNORE 幂等)。`ref_type` ∈ `strategy`(ref_id=`{stock_code}_{trade_date}`)/ `ledger`(账本 id)/ `watch`(cond_id);`horizon` ∈ 1/5/20。指标:`ret_pct / excess_pct`(对 000001.SH) `/ dir_hit / mdd_pct / post_high_pct`(卖飞度) `/ support_tested/held / pressure_tested/broken / conf_bucket / visual_pattern / fund_structure / gate_mode`。写入方 `outcome_scorer`(每晚 23:45,从最老开始回填,水位 800 行/晚)。 + +### 8.4 `watch_conditions` — 大脑声明的关注条件 + +状态机 `armed → hit / expired / superseded`。生成端 `tasks_brain._persist_watch_conditions`(校验+布防,新策略落库时该股旧 armed 全部 superseded);扫描端 `watch_scanner`(每 5 分钟机检,hit 用条件 UPDATE 防双派);`verdict` 由 CONDITION_HIT 裁决回写。字段:`cond_id`(`{ymd}_{prefix}_{seq}`) / `cond_type`(break_above/break_below/volume_surge/pullback_to/time_stop) / `level / volume_gate / vol_base`(生成时算好的近5日均量) / `horizon_days / expires_date`(交易日口径) / `then_action`(UPGRADE/EXIT_WARN/RECHECK) / `note`(声明逻辑,命中时喂回大脑) / `hit_at / hit_price / verdict`。 diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..9fb7ce9 --- /dev/null +++ b/Makefile @@ -0,0 +1,26 @@ +.PHONY: up down build logs sync sync-index sync-sentiment shell psql init-db + +up: ## 启动 + docker compose up -d --build +down: ## 停止 + docker compose down +build: + docker compose build +logs: + docker compose logs -f backend +init-db: + docker compose exec backend python -m app.etl init-db + +# 同步(START 可覆盖:make sync START=20200101) +START ?= 20150101 +sync: + docker compose exec backend python -m app.etl sync-all --start $(START) +sync-index: + docker compose exec backend python -m app.etl sync-index --start $(START) +sync-sentiment: + docker compose exec backend python -m app.etl sync-sentiment --start $(START) + +shell: + docker compose exec backend bash +psql: + docker compose exec db psql -U asevent -d asevent diff --git a/README.md b/README.md new file mode 100644 index 0000000..b15f86c --- /dev/null +++ b/README.md @@ -0,0 +1,136 @@ +# A股大事记录 · 大周期择时看板 + +把 **指数日成交量、ETF流入、股民情绪、重大事件** 按时间轴叠加到 +**上证综指 / 创业板指 / 科创50** 的指数K线上,形成一份 A 股「大事记录」, +辅助判断 A 股 **大周期的顶与底**。 + +> 架构设计见 [`ARCHITECTURE.md`](./ARCHITECTURE.md);数据字段口径见 [`DATA_MODEL.md`](./DATA_MODEL.md)。 + +--- + +## 一句话架构 + +`ETL 从现有内网库(zs_day_data / gp_market_sentiment)同步` → `自有 Postgres` → `FastAPI + ECharts 看板`。 +事件与 ETF **人工录入为主**,预留自动化接口;指数 OHLC 用**可插拔 Provider**(你后续提供,暂以收盘线兜底)。 + +--- + +## 快速开始(Docker) + +```bash +cp .env.example .env # 按需填内网库 DSN(不填也能起,只是无数据) +docker compose up -d --build # 起 db(自有Postgres) + backend(FastAPI+前端) +# 打开看板 +open http://localhost:8000 +``` + +首启会自动建表(`ddl/own_db_init.sql` + ORM 双保险)。此时自有库还没数据,需要同步 ↓ + +## 同步数据(ETL) + +前提:在 `.env` 里配置了可达的 `LEGACY_MYSQL_DSN`(读 `zs_day_data`)与 +`LEGACY_PG_DSN`(读 `gp_market_sentiment`)。**留空则对应同步自动跳过、不报错。** + +```bash +# 指数(close/成交额) + 情绪 一起同步 +docker compose exec backend python -m app.etl sync-all --start 20150101 + +# 或分开 +docker compose exec backend python -m app.etl sync-index --start 20150101 +docker compose exec backend python -m app.etl sync-sentiment --start 20150101 +``` + +也可在看板点「同步数据」按钮,或 `POST /api/sync/index`、`/api/sync/sentiment`。 +后续可把上面命令挂到宿主机 cron / 容器内 APScheduler 做每日增量。 + +--- + +## 接入指数 OHLC 源(你后续提供) + +现有 `zs_day_data` 只有 `close`,画不了完整蜡烛图,看板默认显示**收盘线**。 +你拿到 OHLC 源后: + +1. 在 `backend/app/sources.py` 实现一个类,满足 `OHLCProvider` 协议: + ```python + class MyOHLCProvider: + name = "myprovider" + def fetch(self, index_code, start, end): + # 返回 {date: IndexBar(open/high/low/close[/volume])} + ... + ``` +2. 注册到同文件的 `_OHLC_REGISTRY`。 +3. `.env` 里 `OHLC_PROVIDER=myprovider`,重跑 `sync-index`。 + 看板检测到 OHLC 后自动切换为蜡烛图。 + +--- + +## 事件 / ETF 录入 + +- **人工录入**:看板右下角表单直接加事件;ETF 用 `POST /api/etf`。 +- **CSV 批量导入**: + ```bash + curl -F file=@ddl/event_import_template.csv http://localhost:8000/api/events/import + curl -F file=@ddl/etf_import_template.csv http://localhost:8000/api/etf/import + ``` + 模板与列说明见 `ddl/event_import_template.csv`、`ddl/etf_import_template.csv`。 +- **自动化接入(预留)**:`backend/app/importers.py` 里 `register_auto_event_source` / + `register_auto_etf_source`,实现后可挂新闻/公告/资金流抓取。 + +--- + +## 顶底「市场温度」 + +看板底部温度副图 0–100:越高越过热(顶部风险,红),越低越冰点(底部机会,蓝)。 +由 量能分位 / 价格分位 / 情绪 / ETF出货热度 加权得到,**权重与阈值在 `.env` 可调** +(`W_VOL/W_PRICE/W_SENTIMENT/W_ETF`、`HOT/COLD_THRESHOLD`),方法论见 `ARCHITECTURE.md §5`。 +> 初值仅供起步,请用你自己的历史数据回测校准。 + +--- + +## 开发 / 部署 · Git 工作流 + +开发机改代码 → 提交 → 推送;服务器 `git pull` → `docker compose up -d --build`。 +数据在自有库卷里,不随代码走。**每个里程碑请及时 commit**(见下)。 + +```bash +git add . +git commit -m "milestone: xxx" +git push +``` + +## 目录结构 + +``` +as-event/ +├─ docker-compose.yml # db(Postgres) + backend +├─ .env.example # 配置样例 +├─ ARCHITECTURE.md # 架构设计 +├─ ddl/ +│ ├─ own_db_init.sql # 自有库建表 +│ ├─ event_import_template.csv +│ └─ etf_import_template.csv +├─ backend/ +│ ├─ Dockerfile +│ ├─ requirements.txt +│ └─ app/ +│ ├─ config.py # 配置/环境变量 +│ ├─ db.py # 自有库 ORM 模型 +│ ├─ sources.py # 现有库读适配 + 可插拔 OHLC Provider +│ ├─ etl.py # 同步 CLI +│ ├─ signals.py # 顶底温度启发式 +│ ├─ importers.py # 录入/导入 + 自动化接口 +│ ├─ schemas.py # API 模型 +│ ├─ api.py # REST 路由 +│ └─ main.py # FastAPI 入口 +└─ frontend/ + ├─ index.html # ECharts 看板(单文件) + └─ vendor/echarts.min.js # 本地内置(适配内网离线) +``` + +## API 速览 + +`GET /api/health` · `GET /api/index/list` · `GET /api/index/{code}/kline` · +`GET /api/sentiment` · `GET /api/etf` · `GET/POST/PUT/DELETE /api/events` · +`POST /api/events/import` · `POST /api/etf/import` · `GET /api/annotations` · +`POST /api/sync/index` · `POST /api/sync/sentiment` +(在线文档 `http://localhost:8000/docs`) diff --git a/as-event-v0.1.tar.gz b/as-event-v0.1.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..62b02e89bdc8dc956b68470e4f2f942dae6988cc GIT binary patch literal 363141 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 z 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 z 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

|dSQ$8G5b@htRv3O!l&THH} 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üA)jbtj7x+Y+{&`e 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

Y8Ozy6c=Bkn$eN4F;jhA_NquVNaWeTS!; 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�hxP{wkq%}~a#-C!)A*jN( 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 literal 0 HcmV?d00001 diff --git a/backend/Dockerfile b/backend/Dockerfile new file mode 100644 index 0000000..b9af52a --- /dev/null +++ b/backend/Dockerfile @@ -0,0 +1,17 @@ +FROM python:3.11-slim + +WORKDIR /app +ENV PYTHONUNBUFFERED=1 \ + PIP_NO_CACHE_DIR=1 \ + PYTHONDONTWRITEBYTECODE=1 + +# 依赖 +COPY backend/requirements.txt /app/requirements.txt +RUN pip install --no-cache-dir -r requirements.txt + +# 代码 + 前端 +COPY backend/app /app/app +COPY frontend /app/frontend + +EXPOSE 8000 +CMD ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8000"] diff --git a/backend/app/__init__.py b/backend/app/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/backend/app/api.py b/backend/app/api.py new file mode 100644 index 0000000..6484131 --- /dev/null +++ b/backend/app/api.py @@ -0,0 +1,382 @@ +"""REST API 路由(全部挂在 /api 下)。看板只读自有库。""" +from __future__ import annotations + +import logging +from datetime import date, datetime, timedelta +from typing import Dict, List, Optional + +from fastapi import APIRouter, Body, Depends, HTTPException, Query, UploadFile +from sqlalchemy import delete, func, select +from sqlalchemy.orm import Session + +from .config import INDEX_NAMES, get_settings +from .db import ( + CycleAnnotation, + EtfFlow, + IndexDaily, + MarketEvent, + SentimentDaily, + engine, + get_session, +) +from .importers import parse_etf_csv, parse_events_csv, list_auto_sources +from .schemas import ( + AnnotationIn, + EtfFlowIn, + EtfFlowOut, + EventIn, + EventOut, + ImportResult, +) +from .signals import compute_signals + +log = logging.getLogger("as-event.api") +settings = get_settings() +router = APIRouter(prefix="/api") + + +# ============================ 工具 ============================ +def _parse_qdate(s: Optional[str], default: date) -> date: + if not s: + return default + for fmt in ("%Y%m%d", "%Y-%m-%d"): + try: + return datetime.strptime(s, fmt).date() + except ValueError: + continue + raise HTTPException(400, f"日期格式错误: {s}") + + +def _default_range() -> tuple[date, date]: + end = date.today() + start = end - timedelta(days=730) # 默认近两年 + return start, end + + +# ============================ 健康 ============================ +@router.get("/health") +def health() -> dict: + own_ok = False + try: + with engine.connect() as c: + c.execute(select(func.count()).select_from(IndexDaily)) + own_ok = True + except Exception as e: # noqa: BLE001 + log.warning("own db 健康检查失败: %s", e) + return { + "status": "ok" if own_ok else "degraded", + "own_db": own_ok, + "legacy_mysql_configured": bool(settings.legacy_mysql_dsn), + "legacy_pg_configured": bool(settings.legacy_pg_dsn), + "ohlc_provider": settings.ohlc_provider, + "auto_sources": list_auto_sources(), + } + + +# ============================ 指数 / K线 ============================ +@router.get("/index/list") +def index_list(session: Session = Depends(get_session)) -> List[dict]: + out = [] + for code in settings.index_code_list: + rng = session.execute( + select(func.min(IndexDaily.trade_date), func.max(IndexDaily.trade_date)) + .where(IndexDaily.index_code == code) + ).one() + out.append( + { + "code": code, + "name": INDEX_NAMES.get(code, code), + "data_start": rng[0].isoformat() if rng[0] else None, + "data_end": rng[1].isoformat() if rng[1] else None, + } + ) + return out + + +@router.get("/index/{code}/kline") +def index_kline( + code: str, + start: Optional[str] = Query(None), + end: Optional[str] = Query(None), + session: Session = Depends(get_session), +) -> dict: + ds, de = _default_range() + ds = _parse_qdate(start, ds) + de = _parse_qdate(end, de) + + # 为滚动分位预留前置缓冲,保证请求区间起点温度也有意义 + buffer_start = ds - timedelta(days=int(settings.vol_window * 2)) + rows = ( + session.execute( + select(IndexDaily) + .where(IndexDaily.index_code == code, IndexDaily.trade_date >= buffer_start, + IndexDaily.trade_date <= de) + .order_by(IndexDaily.trade_date.asc()) + ) + .scalars() + .all() + ) + if not rows: + return {"index_code": code, "index_name": INDEX_NAMES.get(code, code), + "ohlc_available": False, "dates": [], "ohlc": [], "amount": [], + "volume": [], "pct_chg": [], "temperature": [], "flags": []} + + bars = [{"trade_date": r.trade_date, "close": _f(r.close), "amount": _f(r.amount)} for r in rows] + + # 情绪、ETF 用于温度计算 + senti = _sentiment_map(session, buffer_start, de) + etf_net = _etf_net_map(session, buffer_start, de, related_index=code) + sig = compute_signals(bars, senti, etf_net) + sig_by_date = {s["trade_date"]: s for s in sig} + + # 只输出请求区间 + dates, ohlc, amount, volume, pct, temp, flags = [], [], [], [], [], [], [] + ohlc_available = False + for r in rows: + if r.trade_date < ds: + continue + dates.append(r.trade_date.isoformat()) + o, h, l, c = _f(r.open), _f(r.high), _f(r.low), _f(r.close) + ohlc.append([o, h, l, c]) + if r.ohlc_source and r.ohlc_source != "close_only": + ohlc_available = True + amount.append(_f(r.amount)) + volume.append(r.volume) + pct.append(_f(r.pct_chg)) + s = sig_by_date.get(r.trade_date, {}) + temp.append(s.get("temperature")) + flags.append(s.get("flags", [])) + + return { + "index_code": code, + "index_name": INDEX_NAMES.get(code, code), + "ohlc_available": ohlc_available, # False → 前端用收盘线 + "dates": dates, + "ohlc": ohlc, + "amount": amount, + "volume": volume, + "pct_chg": pct, + "temperature": temp, + "flags": flags, + "thresholds": {"hot": settings.hot_threshold, "cold": settings.cold_threshold}, + } + + +# ============================ 情绪 ============================ +@router.get("/sentiment") +def sentiment( + start: Optional[str] = Query(None), + end: Optional[str] = Query(None), + session: Session = Depends(get_session), +) -> List[dict]: + ds, de = _default_range() + ds, de = _parse_qdate(start, ds), _parse_qdate(end, de) + rows = ( + session.execute( + select(SentimentDaily) + .where(SentimentDaily.trade_date >= ds, SentimentDaily.trade_date <= de) + .order_by(SentimentDaily.trade_date.asc()) + ).scalars().all() + ) + return [ + { + "trade_date": r.trade_date.isoformat(), + "up_down_ratio": _f(r.up_down_ratio), + "median_pct_chg": _f(r.median_pct_chg), + "pct_chg_gt_5_count": r.pct_chg_gt_5_count, + "limit_up_count": r.limit_up_count, + "limit_down_count": r.limit_down_count, + "margin_balance": _f(r.margin_balance), + "new_accounts": r.new_accounts, + } + for r in rows + ] + + +# ============================ ETF ============================ +@router.get("/etf") +def etf_list( + start: Optional[str] = Query(None), + end: Optional[str] = Query(None), + index: Optional[str] = Query(None), + session: Session = Depends(get_session), +) -> List[EtfFlowOut]: + ds, de = _default_range() + ds, de = _parse_qdate(start, ds), _parse_qdate(end, de) + q = select(EtfFlow).where(EtfFlow.trade_date >= ds, EtfFlow.trade_date <= de) + if index: + q = q.where(EtfFlow.related_index == index) + rows = session.execute(q.order_by(EtfFlow.trade_date.asc())).scalars().all() + return [EtfFlowOut.model_validate(r) for r in rows] + + +@router.post("/etf", response_model=EtfFlowOut) +def etf_create(payload: EtfFlowIn, session: Session = Depends(get_session)) -> EtfFlowOut: + obj = EtfFlow(**payload.model_dump(), source="manual") + session.add(obj) + session.commit() + session.refresh(obj) + return EtfFlowOut.model_validate(obj) + + +@router.post("/etf/import", response_model=ImportResult) +async def etf_import(file: UploadFile, session: Session = Depends(get_session)) -> ImportResult: + content = (await file.read()).decode("utf-8-sig") + try: + recs = parse_etf_csv(content) + except ValueError as e: + raise HTTPException(400, str(e)) + ins = 0 + for rec in recs: + session.add(EtfFlow(**rec)) + ins += 1 + session.commit() + return ImportResult(inserted=ins, updated=0, total=len(recs)) + + +# ============================ 事件 CRUD ============================ +@router.get("/events") +def events_list( + start: Optional[str] = Query(None), + end: Optional[str] = Query(None), + index: Optional[str] = Query(None), + category: Optional[str] = Query(None), + session: Session = Depends(get_session), +) -> List[EventOut]: + ds, de = _default_range() + ds, de = _parse_qdate(start, ds), _parse_qdate(end, de) + q = select(MarketEvent).where(MarketEvent.event_date >= ds, MarketEvent.event_date <= de) + if category: + q = q.where(MarketEvent.category == category) + rows = session.execute(q.order_by(MarketEvent.event_date.asc())).scalars().all() + # related_indices 过滤(CSV 包含匹配,空视为全市场) + if index: + rows = [r for r in rows if (not r.related_indices) or (index in r.related_indices)] + return [EventOut.model_validate(r) for r in rows] + + +@router.post("/events", response_model=EventOut) +def event_create(payload: EventIn, session: Session = Depends(get_session)) -> EventOut: + obj = MarketEvent(**payload.model_dump(), source="manual") + session.add(obj) + session.commit() + session.refresh(obj) + return EventOut.model_validate(obj) + + +@router.put("/events/{event_id}", response_model=EventOut) +def event_update(event_id: int, payload: EventIn, session: Session = Depends(get_session)) -> EventOut: + obj = session.get(MarketEvent, event_id) + if not obj: + raise HTTPException(404, "事件不存在") + for k, v in payload.model_dump().items(): + setattr(obj, k, v) + session.commit() + session.refresh(obj) + return EventOut.model_validate(obj) + + +@router.delete("/events/{event_id}") +def event_delete(event_id: int, session: Session = Depends(get_session)) -> dict: + obj = session.get(MarketEvent, event_id) + if not obj: + raise HTTPException(404, "事件不存在") + session.delete(obj) + session.commit() + return {"deleted": event_id} + + +@router.post("/events/import", response_model=ImportResult) +async def events_import(file: UploadFile, session: Session = Depends(get_session)) -> ImportResult: + content = (await file.read()).decode("utf-8-sig") + try: + evs = parse_events_csv(content) + except ValueError as e: + raise HTTPException(400, str(e)) + for ev in evs: + session.add(MarketEvent(**ev)) + session.commit() + return ImportResult(inserted=len(evs), updated=0, total=len(evs)) + + +# ============================ 人工顶底标注 ============================ +@router.get("/annotations") +def anno_list(index: Optional[str] = Query(None), session: Session = Depends(get_session)) -> List[dict]: + q = select(CycleAnnotation) + if index: + q = q.where(CycleAnnotation.index_code == index) + rows = session.execute(q.order_by(CycleAnnotation.anno_date.asc())).scalars().all() + return [ + {"id": r.id, "index_code": r.index_code, "anno_date": r.anno_date.isoformat(), + "kind": r.kind, "note": r.note} + for r in rows + ] + + +@router.post("/annotations") +def anno_create(payload: AnnotationIn, session: Session = Depends(get_session)) -> dict: + obj = CycleAnnotation(**payload.model_dump()) + session.add(obj) + session.commit() + session.refresh(obj) + return {"id": obj.id} + + +@router.delete("/annotations/{anno_id}") +def anno_delete(anno_id: int, session: Session = Depends(get_session)) -> dict: + session.execute(delete(CycleAnnotation).where(CycleAnnotation.id == anno_id)) + session.commit() + return {"deleted": anno_id} + + +# ============================ 触发 ETL ============================ +@router.post("/sync/index") +def sync_index_ep( + start: str = Body(..., embed=True), + end: Optional[str] = Body(None, embed=True), + codes: Optional[str] = Body(None, embed=True), +) -> dict: + from .etl import sync_index, _parse_date # 延迟导入避免循环 + de = _parse_date(end) if end else date.today() + code_list = codes.split(",") if codes else None + res = sync_index(_parse_date(start), de, code_list) + return {"synced": res} + + +@router.post("/sync/sentiment") +def sync_sentiment_ep( + start: str = Body(..., embed=True), + end: Optional[str] = Body(None, embed=True), +) -> dict: + from .etl import sync_sentiment, _parse_date + de = _parse_date(end) if end else date.today() + n = sync_sentiment(_parse_date(start), de) + return {"synced": n} + + +# ============================ helpers ============================ +def _f(v) -> Optional[float]: + return float(v) if v is not None else None + + +def _sentiment_map(session: Session, ds: date, de: date) -> Dict[date, dict]: + rows = session.execute( + select(SentimentDaily).where(SentimentDaily.trade_date >= ds, SentimentDaily.trade_date <= de) + ).scalars().all() + return { + r.trade_date: { + "up_down_ratio": _f(r.up_down_ratio), + "pct_chg_gt_5_count": r.pct_chg_gt_5_count, + } + for r in rows + } + + +def _etf_net_map(session: Session, ds: date, de: date, related_index: Optional[str] = None) -> Dict[date, float]: + q = select(EtfFlow.trade_date, func.sum(EtfFlow.net_inflow)).where( + EtfFlow.trade_date >= ds, EtfFlow.trade_date <= de + ) + # 温度用全市场 ETF 净流入;如需按指数可加过滤,这里保留全市场以反映整体资金 + q = q.group_by(EtfFlow.trade_date) + rows = session.execute(q).all() + return {d: float(s) for d, s in rows if s is not None} diff --git a/backend/app/config.py b/backend/app/config.py new file mode 100644 index 0000000..377aa61 --- /dev/null +++ b/backend/app/config.py @@ -0,0 +1,71 @@ +"""全局配置:从环境变量 / .env 读取。 + +关键点: +- OWN_DB_DSN 自有 Postgres(看板只读它,ETL 写它)—— 必填 +- LEGACY_MYSQL_DSN 现有 MySQL-A(18.199),读 zs_day_data —— 选填,留空则跳过指数同步 +- LEGACY_PG_DSN 现有 PG(16.150),读 gp_market_sentiment —— 选填,留空则跳过情绪同步 +- OHLC_PROVIDER 指数 OHLC 数据源(你后续提供)。默认 "none" → 退化为收盘线 +""" +from __future__ import annotations + +from functools import lru_cache +from typing import List, Optional + +from pydantic import Field +from pydantic_settings import BaseSettings, SettingsConfigDict + + +class Settings(BaseSettings): + model_config = SettingsConfigDict( + env_file=".env", env_file_encoding="utf-8", extra="ignore" + ) + + # ---- 数据库 ---- + own_db_dsn: str = Field( + default="postgresql+psycopg://asevent:asevent@db:5432/asevent", + alias="OWN_DB_DSN", + ) + legacy_mysql_dsn: Optional[str] = Field(default=None, alias="LEGACY_MYSQL_DSN") + legacy_pg_dsn: Optional[str] = Field(default=None, alias="LEGACY_PG_DSN") + + # ---- 指数范围(dot 式,与 zs_day_data.symbol 一致)---- + index_codes: str = Field(default="000001.SH,399006.SZ,000688.SH", alias="INDEX_CODES") + + # ---- OHLC 源(预留插槽)---- + # "none" = 无源,open=high=low=close,ohlc_source='close_only'(退化为收盘线) + # 你接入后在 sources.py:build_ohlc_provider 里注册自己的实现,并把此值改成对应名字 + ohlc_provider: str = Field(default="none", alias="OHLC_PROVIDER") + + # ---- 顶底信号参数(初值,实机回测后再调)---- + vol_window: int = Field(default=250, alias="VOL_WINDOW") # 量能/价格分位滚动窗口 + w_vol: float = Field(default=0.35, alias="W_VOL") + w_price: float = Field(default=0.25, alias="W_PRICE") + w_sentiment: float = Field(default=0.25, alias="W_SENTIMENT") + w_etf: float = Field(default=0.15, alias="W_ETF") + hot_threshold: float = Field(default=80.0, alias="HOT_THRESHOLD") # 过热/顶部 + cold_threshold: float = Field(default=20.0, alias="COLD_THRESHOLD") # 冰点/底部 + + # ---- 其它 ---- + cors_origins: str = Field(default="*", alias="CORS_ORIGINS") + + @property + def index_code_list(self) -> List[str]: + return [c.strip() for c in self.index_codes.split(",") if c.strip()] + + @property + def cors_origin_list(self) -> List[str]: + return [c.strip() for c in self.cors_origins.split(",") if c.strip()] + + +@lru_cache +def get_settings() -> Settings: + return Settings() + + +# 指数中文名映射(展示用) +INDEX_NAMES = { + "000001.SH": "上证综指", + "399006.SZ": "创业板指", + "000688.SH": "科创50", + "399001.SZ": "深证成指", +} diff --git a/backend/app/db.py b/backend/app/db.py new file mode 100644 index 0000000..d3fbd05 --- /dev/null +++ b/backend/app/db.py @@ -0,0 +1,137 @@ +"""自有库(Postgres)ORM 模型与会话。 + +看板只读自有库;ETL 把内网库数据同步进这里。 +建表:正式部署用 ddl/own_db_init.sql;本模块也提供 init_db() 供开发期 create_all。 +""" +from __future__ import annotations + +from datetime import date, datetime +from typing import Iterator + +from sqlalchemy import ( + BigInteger, + Date, + DateTime, + Integer, + Numeric, + String, + Text, + UniqueConstraint, + create_engine, + func, +) +from sqlalchemy.orm import DeclarativeBase, Mapped, Session, mapped_column, sessionmaker + +from .config import get_settings + +settings = get_settings() + +engine = create_engine(settings.own_db_dsn, pool_pre_ping=True, future=True) +SessionLocal = sessionmaker(bind=engine, autoflush=False, expire_on_commit=False, future=True) + + +class Base(DeclarativeBase): + pass + + +class IndexDaily(Base): + """指数日线(同步落地)。OHLC 缺源时 open=high=low=close,ohlc_source='close_only'。""" + + __tablename__ = "index_daily" + __table_args__ = (UniqueConstraint("index_code", "trade_date", name="uq_index_daily"),) + + id: Mapped[int] = mapped_column(Integer, primary_key=True, autoincrement=True) + index_code: Mapped[str] = mapped_column(String(16), index=True) + trade_date: Mapped[date] = mapped_column(Date, index=True) + open: Mapped[float | None] = mapped_column(Numeric(16, 4)) + high: Mapped[float | None] = mapped_column(Numeric(16, 4)) + low: Mapped[float | None] = mapped_column(Numeric(16, 4)) + close: Mapped[float | None] = mapped_column(Numeric(16, 4)) + volume: Mapped[int | None] = mapped_column(BigInteger) # 成交量(手),如源有 + amount: Mapped[float | None] = mapped_column(Numeric(24, 4)) # 成交额(元) + pct_chg: Mapped[float | None] = mapped_column(Numeric(10, 4)) # 涨跌幅 % + turnover_rate: Mapped[float | None] = mapped_column(Numeric(10, 4)) + ohlc_source: Mapped[str] = mapped_column(String(24), default="close_only") + updated_at: Mapped[datetime] = mapped_column(DateTime, server_default=func.now()) + + +class SentimentDaily(Base): + """情绪日度(源自 gp_market_sentiment,可扩展两融/开户等)。""" + + __tablename__ = "sentiment_daily" + + trade_date: Mapped[date] = mapped_column(Date, primary_key=True) + up_down_ratio: Mapped[float | None] = mapped_column(Numeric(10, 4)) # 涨跌家数比 + median_pct_chg: Mapped[float | None] = mapped_column(Numeric(10, 4)) # 全市场涨跌幅中位数 + pct_chg_gt_5_count: Mapped[int | None] = mapped_column(Integer) # 涨幅>5%家数(涨停潮代理) + limit_up_count: Mapped[int | None] = mapped_column(Integer) + limit_down_count: Mapped[int | None] = mapped_column(Integer) + margin_balance: Mapped[float | None] = mapped_column(Numeric(24, 4)) # 两融余额(元) + new_accounts: Mapped[int | None] = mapped_column(Integer) # 新增开户数 + sentiment_score: Mapped[float | None] = mapped_column(Numeric(10, 4)) # 归一情绪分 0-100 + updated_at: Mapped[datetime] = mapped_column(DateTime, server_default=func.now()) + + +class EtfFlow(Base): + """ETF 流入(人工/导入/自动)。可按单只 ETF 或按类别聚合存。""" + + __tablename__ = "etf_flow" + __table_args__ = ( + UniqueConstraint("trade_date", "etf_code", name="uq_etf_flow"), + ) + + id: Mapped[int] = mapped_column(Integer, primary_key=True, autoincrement=True) + trade_date: Mapped[date] = mapped_column(Date, index=True) + etf_code: Mapped[str] = mapped_column(String(24), default="") # 空串=类别聚合行 + etf_name: Mapped[str | None] = mapped_column(String(64)) + category: Mapped[str | None] = mapped_column(String(32)) # broad/chinext/star/... + related_index: Mapped[str | None] = mapped_column(String(16)) # 关联指数 dot 式 + net_inflow: Mapped[float | None] = mapped_column(Numeric(20, 4)) # 净流入(亿元) + shares_change: Mapped[float | None] = mapped_column(Numeric(20, 4)) # 份额变化(亿份) + source: Mapped[str] = mapped_column(String(16), default="manual") # manual/import/auto + note: Mapped[str | None] = mapped_column(Text) + created_at: Mapped[datetime] = mapped_column(DateTime, server_default=func.now()) + + +class MarketEvent(Base): + """重大事件(证监会抓人、巨无霸IPO、政策等)。""" + + __tablename__ = "market_event" + + id: Mapped[int] = mapped_column(Integer, primary_key=True, autoincrement=True) + event_date: Mapped[date] = mapped_column(Date, index=True) + title: Mapped[str] = mapped_column(String(255)) + category: Mapped[str] = mapped_column(String(32), default="其他") # 监管/IPO/政策/资金/外部/其他 + impact_direction: Mapped[str] = mapped_column(String(16), default="neutral") # bullish/bearish/neutral + severity: Mapped[int] = mapped_column(Integer, default=3) # 1-5 + related_indices: Mapped[str | None] = mapped_column(String(128)) # CSV,空=全市场 + cycle_tag: Mapped[str] = mapped_column(String(16), default="none") # top/bottom/none 经典顶底标记 + description: Mapped[str | None] = mapped_column(Text) + source_url: Mapped[str | None] = mapped_column(String(512)) + source: Mapped[str] = mapped_column(String(16), default="manual") # manual/import/auto + created_at: Mapped[datetime] = mapped_column(DateTime, server_default=func.now()) + updated_at: Mapped[datetime] = mapped_column(DateTime, server_default=func.now(), onupdate=func.now()) + + +class CycleAnnotation(Base): + """人工顶底标注(复盘用,看板上手动打点)。""" + + __tablename__ = "cycle_annotation" + + id: Mapped[int] = mapped_column(Integer, primary_key=True, autoincrement=True) + index_code: Mapped[str] = mapped_column(String(16), index=True) + anno_date: Mapped[date] = mapped_column(Date, index=True) + kind: Mapped[str] = mapped_column(String(16), default="watch") # top/bottom/watch + note: Mapped[str | None] = mapped_column(Text) + created_at: Mapped[datetime] = mapped_column(DateTime, server_default=func.now()) + + +def init_db() -> None: + """开发期便捷建表;正式部署建议用 ddl/own_db_init.sql。""" + Base.metadata.create_all(bind=engine) + + +def get_session() -> Iterator[Session]: + """FastAPI 依赖注入用。""" + with SessionLocal() as s: + yield s diff --git a/backend/app/etl.py b/backend/app/etl.py new file mode 100644 index 0000000..bd653e7 --- /dev/null +++ b/backend/app/etl.py @@ -0,0 +1,169 @@ +"""ETL:把现有内网库数据同步进自有库。 + + python -m app.etl init-db + python -m app.etl sync-index --start 20150101 [--end 20260726] [--codes 000001.SH,399006.SZ] + python -m app.etl sync-sentiment --start 20150101 + python -m app.etl sync-all --start 20150101 + +设计:看板只读自有库;此处是唯一「读现有库、写自有库」的地方。 +内网库不可达时降级为空同步,不报错。 +""" +from __future__ import annotations + +import argparse +import logging +from datetime import date, datetime +from typing import Dict, List, Optional + +from sqlalchemy.dialects.postgresql import insert as pg_insert + +from .config import get_settings +from .db import IndexDaily, SentimentDaily, engine, init_db +from .sources import ( + IndexBar, + LegacyIndexSource, + LegacySentimentSource, + build_ohlc_provider, +) + +logging.basicConfig(level=logging.INFO, format="%(asctime)s %(levelname)s %(name)s: %(message)s") +log = logging.getLogger("as-event.etl") +settings = get_settings() + + +def _parse_date(s: str) -> date: + s = s.strip() + for fmt in ("%Y%m%d", "%Y-%m-%d"): + try: + return datetime.strptime(s, fmt).date() + except ValueError: + continue + raise ValueError(f"无法解析日期: {s}(用 YYYYMMDD 或 YYYY-MM-DD)") + + +# ============================ 指数同步 ============================ +def sync_index(start: date, end: date, codes: Optional[List[str]] = None) -> Dict[str, int]: + codes = codes or settings.index_code_list + legacy = LegacyIndexSource() + ohlc = build_ohlc_provider() + result: Dict[str, int] = {} + + for code in codes: + bars = legacy.fetch(code, start, end) # close/amount/pct + ohlc_map = ohlc.fetch(code, start, end) # 可能为空 + by_date: Dict[date, IndexBar] = {b.trade_date: b for b in bars} + # 若 OHLC 源提供了 close 而现有库没有该日,也纳入 + for d, ob in ohlc_map.items(): + by_date.setdefault(d, IndexBar(trade_date=d, close=ob.close)) + + rows = [] + for d, b in sorted(by_date.items()): + ob = ohlc_map.get(d) + close = b.close if b.close is not None else (ob.close if ob else None) + if ob and ob.open is not None: + o, h, l = ob.open, ob.high, ob.low + vol = ob.volume + src = ohlc.name + else: + o = h = l = close # 收盘兜底 + vol = b.volume + src = "close_only" + rows.append( + dict( + index_code=code, trade_date=d, open=o, high=h, low=l, close=close, + volume=vol, amount=b.amount, pct_chg=b.pct_chg, + turnover_rate=None, ohlc_source=src, + ) + ) + + _upsert_index(rows) + result[code] = len(rows) + log.info("指数同步 %s: %d 行 (ohlc=%s)", code, len(rows), ohlc.name) + return result + + +def _upsert_index(rows: List[dict]) -> None: + if not rows: + return + stmt = pg_insert(IndexDaily).values(rows) + stmt = stmt.on_conflict_do_update( + constraint="uq_index_daily", + set_={ + "open": stmt.excluded.open, "high": stmt.excluded.high, + "low": stmt.excluded.low, "close": stmt.excluded.close, + "volume": stmt.excluded.volume, "amount": stmt.excluded.amount, + "pct_chg": stmt.excluded.pct_chg, "turnover_rate": stmt.excluded.turnover_rate, + "ohlc_source": stmt.excluded.ohlc_source, + }, + ) + with engine.begin() as conn: + conn.execute(stmt) + + +# ============================ 情绪同步 ============================ +def sync_sentiment(start: date, end: date) -> int: + legacy = LegacySentimentSource() + rows = legacy.fetch(start, end) + payload = [ + dict( + trade_date=r.trade_date, + up_down_ratio=r.up_down_ratio, + median_pct_chg=r.median_pct_chg, + pct_chg_gt_5_count=r.pct_chg_gt_5_count, + ) + for r in rows + ] + _upsert_sentiment(payload) + log.info("情绪同步: %d 行", len(payload)) + return len(payload) + + +def _upsert_sentiment(rows: List[dict]) -> None: + if not rows: + return + stmt = pg_insert(SentimentDaily).values(rows) + stmt = stmt.on_conflict_do_update( + index_elements=["trade_date"], + set_={ + "up_down_ratio": stmt.excluded.up_down_ratio, + "median_pct_chg": stmt.excluded.median_pct_chg, + "pct_chg_gt_5_count": stmt.excluded.pct_chg_gt_5_count, + }, + ) + with engine.begin() as conn: + conn.execute(stmt) + + +# ============================ CLI ============================ +def main() -> None: + p = argparse.ArgumentParser(description="as-event ETL") + sub = p.add_subparsers(dest="cmd", required=True) + + sub.add_parser("init-db", help="建表(等价 ddl/own_db_init.sql)") + + for name in ("sync-index", "sync-sentiment", "sync-all"): + sp = sub.add_parser(name) + sp.add_argument("--start", default="20150101") + sp.add_argument("--end", default=date.today().strftime("%Y%m%d")) + if name in ("sync-index", "sync-all"): + sp.add_argument("--codes", default=None, help="逗号分隔,缺省用配置") + + args = p.parse_args() + if args.cmd == "init-db": + init_db() + log.info("建表完成") + return + + start, end = _parse_date(args.start), _parse_date(args.end) + codes = args.codes.split(",") if getattr(args, "codes", None) else None + if args.cmd == "sync-index": + sync_index(start, end, codes) + elif args.cmd == "sync-sentiment": + sync_sentiment(start, end) + elif args.cmd == "sync-all": + sync_index(start, end, codes) + sync_sentiment(start, end) + + +if __name__ == "__main__": + main() diff --git a/backend/app/importers.py b/backend/app/importers.py new file mode 100644 index 0000000..2c274f7 --- /dev/null +++ b/backend/app/importers.py @@ -0,0 +1,128 @@ +"""录入与导入:人工 CSV 导入 + 自动化接入接口(预留)。 + +- parse_events_csv / parse_etf_csv:解析导入模板(见 ddl/*_template.csv) +- AutoEventSource / AutoEtfSource:自动化抓取接口(未来挂新闻/公告/资金流), + 现在留空注册表;实现后在 _AUTO_* 注册即可被定时任务调用。 +""" +from __future__ import annotations + +import csv +import io +import logging +from datetime import date, datetime +from typing import Dict, List, Protocol + +log = logging.getLogger("as-event.importers") + +_VALID_DIRECTION = {"bullish", "bearish", "neutral"} +_VALID_CYCLE = {"top", "bottom", "none"} + + +def _parse_date(s: str) -> date: + s = (s or "").strip() + for fmt in ("%Y%m%d", "%Y-%m-%d", "%Y/%m/%d"): + try: + return datetime.strptime(s, fmt).date() + except ValueError: + continue + raise ValueError(f"日期格式错误: {s!r}") + + +def _clean(s) -> str: + return (s or "").strip() + + +def parse_events_csv(content: str) -> List[dict]: + """列:event_date,title,category,impact_direction,severity,related_indices,cycle_tag,description,source_url""" + reader = csv.DictReader(io.StringIO(content)) + out: List[dict] = [] + for i, row in enumerate(reader, start=2): # 含表头,数据从第2行 + title = _clean(row.get("title")) + if not title: + continue + try: + ev = dict( + event_date=_parse_date(row.get("event_date", "")), + title=title, + category=_clean(row.get("category")) or "其他", + impact_direction=(_clean(row.get("impact_direction")).lower() or "neutral"), + severity=int(_clean(row.get("severity")) or 3), + related_indices=_clean(row.get("related_indices")) or None, + cycle_tag=(_clean(row.get("cycle_tag")).lower() or "none"), + description=_clean(row.get("description")) or None, + source_url=_clean(row.get("source_url")) or None, + source="import", + ) + except ValueError as e: + raise ValueError(f"第 {i} 行解析失败: {e}") from e + if ev["impact_direction"] not in _VALID_DIRECTION: + ev["impact_direction"] = "neutral" + if ev["cycle_tag"] not in _VALID_CYCLE: + ev["cycle_tag"] = "none" + ev["severity"] = min(5, max(1, ev["severity"])) + out.append(ev) + return out + + +def parse_etf_csv(content: str) -> List[dict]: + """列:trade_date,etf_code,etf_name,category,related_index,net_inflow,shares_change,note""" + reader = csv.DictReader(io.StringIO(content)) + out: List[dict] = [] + for i, row in enumerate(reader, start=2): + d = _clean(row.get("trade_date")) + if not d: + continue + try: + rec = dict( + trade_date=_parse_date(d), + etf_code=_clean(row.get("etf_code")), + etf_name=_clean(row.get("etf_name")) or None, + category=_clean(row.get("category")) or None, + related_index=_clean(row.get("related_index")) or None, + net_inflow=float(_clean(row.get("net_inflow")) or 0) if _clean(row.get("net_inflow")) else None, + shares_change=float(_clean(row.get("shares_change"))) if _clean(row.get("shares_change")) else None, + note=_clean(row.get("note")) or None, + source="import", + ) + except ValueError as e: + raise ValueError(f"第 {i} 行解析失败: {e}") from e + out.append(rec) + return out + + +# ============================ 自动化接入接口(预留)============================ +class AutoEventSource(Protocol): + """未来自动抓取事件源的接口。实现后注册到 _AUTO_EVENT_SOURCES。""" + + name: str + + def pull(self, start: date, end: date) -> List[dict]: # 返回同 parse_events_csv 的 dict 列表 + ... + + +class AutoEtfSource(Protocol): + name: str + + def pull(self, start: date, end: date) -> List[dict]: + ... + + +_AUTO_EVENT_SOURCES: Dict[str, AutoEventSource] = {} +_AUTO_ETF_SOURCES: Dict[str, AutoEtfSource] = {} + + +def register_auto_event_source(src: AutoEventSource) -> None: + _AUTO_EVENT_SOURCES[src.name] = src + log.info("注册自动事件源: %s", src.name) + + +def register_auto_etf_source(src: AutoEtfSource) -> None: + _AUTO_ETF_SOURCES[src.name] = src + log.info("注册自动ETF源: %s", src.name) + + +def list_auto_sources() -> Dict[str, List[str]]: + return { + "event": list(_AUTO_EVENT_SOURCES.keys()), + "etf": list(_AUTO_ETF_SOURCES.keys()), + } diff --git a/backend/app/main.py b/backend/app/main.py new file mode 100644 index 0000000..a5b4f70 --- /dev/null +++ b/backend/app/main.py @@ -0,0 +1,50 @@ +"""FastAPI 入口:挂 API + 静态前端。""" +from __future__ import annotations + +import logging +import os +from contextlib import asynccontextmanager +from pathlib import Path + +from fastapi import FastAPI +from fastapi.middleware.cors import CORSMiddleware +from fastapi.staticfiles import StaticFiles + +from .api import router +from .config import get_settings +from .db import init_db + +logging.basicConfig(level=logging.INFO, format="%(asctime)s %(levelname)s %(name)s: %(message)s") +log = logging.getLogger("as-event") +settings = get_settings() + + +@asynccontextmanager +async def lifespan(app: FastAPI): + # 首次启动自动建表(create_all 只补缺表,安全);生产可用 ddl/own_db_init.sql + if os.getenv("AUTO_CREATE_TABLES", "1") == "1": + try: + init_db() + log.info("自有库建表检查完成") + except Exception as e: # noqa: BLE001 + log.warning("建表失败(DB 未就绪?):%s", e) + yield + + +app = FastAPI(title="A股大事记录 / 择时看板", version="0.1.0", lifespan=lifespan) + +app.add_middleware( + CORSMiddleware, + allow_origins=settings.cors_origin_list, + allow_methods=["*"], + allow_headers=["*"], +) + +app.include_router(router) + +# 静态前端(放在 API 之后,作为兜底挂在根路径) +_frontend = Path(__file__).resolve().parent.parent / "frontend" +if _frontend.is_dir(): + app.mount("/", StaticFiles(directory=str(_frontend), html=True), name="frontend") +else: + log.warning("未找到前端目录: %s", _frontend) diff --git a/backend/app/schemas.py b/backend/app/schemas.py new file mode 100644 index 0000000..d72e51f --- /dev/null +++ b/backend/app/schemas.py @@ -0,0 +1,65 @@ +"""API 请求/响应模型(pydantic v2)。""" +from __future__ import annotations + +from datetime import date, datetime +from typing import List, Optional + +from pydantic import BaseModel, Field + + +# ---------------- 事件 ---------------- +class EventIn(BaseModel): + event_date: date + title: str = Field(min_length=1, max_length=255) + category: str = "其他" + impact_direction: str = "neutral" # bullish/bearish/neutral + severity: int = Field(default=3, ge=1, le=5) + related_indices: Optional[str] = None # CSV,如 "000001.SH,399006.SZ" + cycle_tag: str = "none" # top/bottom/none + description: Optional[str] = None + source_url: Optional[str] = None + + +class EventOut(EventIn): + id: int + source: str = "manual" + created_at: Optional[datetime] = None + updated_at: Optional[datetime] = None + + model_config = {"from_attributes": True} + + +# ---------------- ETF ---------------- +class EtfFlowIn(BaseModel): + trade_date: date + etf_code: str = "" + etf_name: Optional[str] = None + category: Optional[str] = None + related_index: Optional[str] = None + net_inflow: Optional[float] = None # 亿元 + shares_change: Optional[float] = None + note: Optional[str] = None + + +class EtfFlowOut(EtfFlowIn): + id: int + source: str = "manual" + created_at: Optional[datetime] = None + + model_config = {"from_attributes": True} + + +# ---------------- 顶底人工标注 ---------------- +class AnnotationIn(BaseModel): + index_code: str + anno_date: date + kind: str = "watch" # top/bottom/watch + note: Optional[str] = None + + +# ---------------- 导入结果 ---------------- +class ImportResult(BaseModel): + inserted: int + updated: int + total: int + errors: List[str] = [] diff --git a/backend/app/signals.py b/backend/app/signals.py new file mode 100644 index 0000000..ea5751b --- /dev/null +++ b/backend/app/signals.py @@ -0,0 +1,130 @@ +"""顶底「市场温度」透明启发式(可调,非黑盒)。 + +温度 0–100:越高越「过热/顶部风险」,越低越「冰点/底部机会」。 +四个分量(缺哪个自动剔除并重新归一权重): + vol_pct 量能分位:天量→高温(顶),地量→低温(底) + price_pct 价格分位:高位→高温,低位→低温 + sentiment 情绪:普涨/涨停潮亢奋→高温;普跌/跌停潮恐慌→低温 + etf_heat ETF「出货热度」= (-净流入) 分位:大额净流出→高温(顶),大额净流入(国家队)→低温(底) + +权重与阈值来自 config(W_VOL/W_PRICE/W_SENTIMENT/W_ETF、HOT/COLD_THRESHOLD), +初值仅供起步,请用你自己的历史数据回测校准。 +""" +from __future__ import annotations + +from datetime import date +from typing import Dict, List, Optional + +from .config import get_settings + +settings = get_settings() + + +def _rolling_pct(values: List[Optional[float]], window: int) -> List[Optional[float]]: + """滚动百分位排名(0-100):当前值在最近 window 个有效值中的分位。""" + out: List[Optional[float]] = [] + for i in range(len(values)): + cur = values[i] + if cur is None: + out.append(None) + continue + lo = max(0, i - window + 1) + base = [v for v in values[lo : i + 1] if v is not None] + if len(base) < max(5, window // 10): # 样本太少不给分位,避免早期噪声 + out.append(None) + continue + le = sum(1 for v in base if v <= cur) + out.append(round(le / len(base) * 100, 2)) + return out + + +def _norm_sentiment(sr) -> Optional[float]: + """把一条情绪原始值折算到 0-100 的「亢奋度」粗分(缺字段则 None,交给分位再平滑)。 + + 这里只做方向性折算:涨跌家数比越高、涨幅>5%家数越多 → 越亢奋。 + 真正的相对高低由外层 _rolling_pct 处理。 + """ + if sr is None: + return None + parts = [] + if sr.get("up_down_ratio") is not None: + parts.append(sr["up_down_ratio"]) + if sr.get("pct_chg_gt_5_count") is not None: + parts.append(sr["pct_chg_gt_5_count"]) + if not parts: + return None + return float(sum(parts)) # 量纲无所谓,后续走分位 + + +def compute_signals( + bars: List[dict], + sentiment_by_date: Dict[date, dict], + etf_net_by_date: Dict[date, float], + window: Optional[int] = None, +) -> List[dict]: + """bars: [{trade_date, close, amount}, ...] 升序。返回逐日温度与标记。""" + window = window or settings.vol_window + dates = [b["trade_date"] for b in bars] + closes = [b.get("close") for b in bars] + amounts = [b.get("amount") for b in bars] + + # 情绪与 ETF 原始序列(对齐 bars 日期) + senti_raw = [_norm_sentiment(sentiment_by_date.get(d)) for d in dates] + etf_out_raw = [ + (-etf_net_by_date[d]) if d in etf_net_by_date and etf_net_by_date[d] is not None else None + for d in dates + ] + + vol_pct = _rolling_pct(amounts, window) + price_pct = _rolling_pct(closes, window) + senti_pct = _rolling_pct(senti_raw, window) + etf_pct = _rolling_pct(etf_out_raw, window) + + W = { + "vol": settings.w_vol, + "price": settings.w_price, + "sentiment": settings.w_sentiment, + "etf": settings.w_etf, + } + + out: List[dict] = [] + for i, d in enumerate(dates): + comps = { + "vol": vol_pct[i], + "price": price_pct[i], + "sentiment": senti_pct[i], + "etf": etf_pct[i], + } + avail = {k: v for k, v in comps.items() if v is not None} + if avail: + wsum = sum(W[k] for k in avail) + temp = round(sum(comps[k] * W[k] for k in avail) / wsum, 2) if wsum else None + else: + temp = None + + flags = [] + if vol_pct[i] is not None and price_pct[i] is not None: + if vol_pct[i] >= 95 and price_pct[i] >= 80: + flags.append("TOP_VOLUME_PRICE") # 天量见天价 + if vol_pct[i] is not None and vol_pct[i] <= 5: + flags.append("BOTTOM_VOLUME_DRY") # 地量见地价 + if senti_pct[i] is not None: + if senti_pct[i] >= 95: + flags.append("SENTIMENT_EUPHORIA") + elif senti_pct[i] <= 5: + flags.append("SENTIMENT_PANIC") + if temp is not None: + if temp >= settings.hot_threshold: + flags.append("OVERHEAT") + elif temp <= settings.cold_threshold: + flags.append("FREEZE") + + out.append( + { + "trade_date": d, + "temperature": temp, + "components": comps, + "flags": flags, + } + ) + return out diff --git a/backend/app/sources.py b/backend/app/sources.py new file mode 100644 index 0000000..da4fdda --- /dev/null +++ b/backend/app/sources.py @@ -0,0 +1,202 @@ +"""外部数据源适配(直连现有内网库,只读)+ 可插拔 OHLC Provider。 + +- LegacyIndexSource 读 zs_day_data(MySQL-A 18.199) 的指数 close/percent/amount +- LegacySentimentSource 读 gp_market_sentiment(PG 16.150) 的情绪 +- OHLCProvider 指数开高低收源(你后续提供)。默认 NullOHLCProvider = close_only 退化 + +所有源在 DSN 未配置或连接失败时**降级返回空**,绝不让 ETL 崩掉。 +""" +from __future__ import annotations + +import logging +from dataclasses import dataclass +from datetime import date +from typing import Dict, List, Optional, Protocol + +from sqlalchemy import create_engine, text +from sqlalchemy.engine import Engine + +from .config import get_settings + +log = logging.getLogger("as-event.sources") +settings = get_settings() + +# ---- 惰性引擎(只在配置了 DSN 时创建)---- +_engines: Dict[str, Optional[Engine]] = {} + + +def _engine_for(dsn: Optional[str]) -> Optional[Engine]: + if not dsn: + return None + if dsn not in _engines: + try: + _engines[dsn] = create_engine(dsn, pool_pre_ping=True, future=True) + except Exception as e: # noqa: BLE001 + log.warning("创建引擎失败 dsn=%s err=%s", _mask(dsn), e) + _engines[dsn] = None + return _engines[dsn] + + +def _mask(dsn: str) -> str: + """隐藏 DSN 中的密码用于日志。""" + try: + head, tail = dsn.split("@", 1) + scheme_user = head.split("//", 1) + return f"{scheme_user[0]}//***@{tail}" + except Exception: # noqa: BLE001 + return "" + + +def _to_float(v) -> Optional[float]: + if v is None: + return None + try: + return float(v) + except (TypeError, ValueError): + return None + + +# ============================ 数据行 ============================ +@dataclass +class IndexBar: + trade_date: date + close: Optional[float] + amount: Optional[float] = None + pct_chg: Optional[float] = None + open: Optional[float] = None + high: Optional[float] = None + low: Optional[float] = None + volume: Optional[int] = None + + +@dataclass +class SentimentRow: + trade_date: date + up_down_ratio: Optional[float] = None + median_pct_chg: Optional[float] = None + pct_chg_gt_5_count: Optional[int] = None + + +# ============================ 现有库读适配 ============================ +class LegacyIndexSource: + """读 zs_day_data(MySQL-A 18.199)。字段:symbol, timestamp, close, percent, amount。""" + + def __init__(self) -> None: + self.engine = _engine_for(settings.legacy_mysql_dsn) + + @property + def available(self) -> bool: + return self.engine is not None + + def fetch(self, index_code: str, start: date, end: date) -> List[IndexBar]: + if not self.engine: + log.info("LEGACY_MYSQL_DSN 未配置,跳过指数拉取 %s", index_code) + return [] + sql = text( + """ + SELECT DATE(`timestamp`) AS d, `close` AS c, `percent` AS p, `amount` AS a + FROM zs_day_data + WHERE symbol = :code AND DATE(`timestamp`) BETWEEN :s AND :e + ORDER BY d ASC + """ + ) + try: + with self.engine.connect() as conn: + rows = conn.execute(sql, {"code": index_code, "s": start, "e": end}).all() + except Exception as e: # noqa: BLE001 + log.warning("读 zs_day_data 失败 %s: %s", index_code, e) + return [] + return [ + IndexBar( + trade_date=r.d, + close=_to_float(r.c), + amount=_to_float(r.a), + pct_chg=_to_float(r.p), + ) + for r in rows + ] + + +class LegacySentimentSource: + """读 gp_market_sentiment(PG 16.150)。字段:trade_date, up_down_ratio, median_pct_chg, pct_chg_gt_5_count。""" + + def __init__(self) -> None: + self.engine = _engine_for(settings.legacy_pg_dsn) + + @property + def available(self) -> bool: + return self.engine is not None + + def fetch(self, start: date, end: date) -> List[SentimentRow]: + if not self.engine: + log.info("LEGACY_PG_DSN 未配置,跳过情绪拉取") + return [] + sql = text( + """ + SELECT trade_date, up_down_ratio, median_pct_chg, pct_chg_gt_5_count + FROM gp_market_sentiment + WHERE trade_date BETWEEN :s AND :e + ORDER BY trade_date ASC + """ + ) + try: + with self.engine.connect() as conn: + rows = conn.execute(sql, {"s": start, "e": end}).all() + except Exception as e: # noqa: BLE001 + log.warning("读 gp_market_sentiment 失败: %s", e) + return [] + out: List[SentimentRow] = [] + for r in rows: + cnt = r.pct_chg_gt_5_count + out.append( + SentimentRow( + trade_date=r.trade_date, + up_down_ratio=_to_float(r.up_down_ratio), + median_pct_chg=_to_float(r.median_pct_chg), + pct_chg_gt_5_count=int(cnt) if cnt is not None else None, + ) + ) + return out + + +# ============================ 可插拔 OHLC Provider ============================ +class OHLCProvider(Protocol): + """指数开高低收源接口。你接入自己的数据源时实现此协议。""" + + name: str + + def fetch(self, index_code: str, start: date, end: date) -> Dict[date, IndexBar]: + """返回 {trade_date: IndexBar(带 open/high/low/close[/volume])}。""" + ... + + +class NullOHLCProvider: + """默认:无 OHLC 源。ETL 会用 close 兜底成 open=high=low=close,标 ohlc_source='close_only'。""" + + name = "none" + + def fetch(self, index_code: str, start: date, end: date) -> Dict[date, IndexBar]: + return {} + + +# ------- 你后续接入 OHLC 源的示例骨架(改名注册即可)------- +# class MyOHLCProvider: +# name = "myprovider" +# def fetch(self, index_code, start, end): +# # 调你自己的接口/库表,返回 {date: IndexBar(open/high/low/close/volume)} +# return {} + + +_OHLC_REGISTRY = { + NullOHLCProvider.name: NullOHLCProvider, + # MyOHLCProvider.name: MyOHLCProvider, # <-- 接入后取消注释 +} + + +def build_ohlc_provider() -> OHLCProvider: + name = settings.ohlc_provider + cls = _OHLC_REGISTRY.get(name) + if cls is None: + log.warning("未知 OHLC_PROVIDER=%s,回退 none(收盘线)", name) + cls = NullOHLCProvider + return cls() diff --git a/backend/requirements.txt b/backend/requirements.txt new file mode 100644 index 0000000..5a47384 --- /dev/null +++ b/backend/requirements.txt @@ -0,0 +1,8 @@ +fastapi==0.115.6 +uvicorn[standard]==0.34.0 +pydantic==2.10.4 +pydantic-settings==2.7.1 +SQLAlchemy==2.0.36 +psycopg[binary]==3.2.3 +PyMySQL==1.1.1 +python-multipart==0.0.20 diff --git a/ddl/etf_import_template.csv b/ddl/etf_import_template.csv new file mode 100644 index 0000000..e336793 --- /dev/null +++ b/ddl/etf_import_template.csv @@ -0,0 +1,4 @@ +trade_date,etf_code,etf_name,category,related_index,net_inflow,shares_change,note +20240924,510300.SH,沪深300ETF,broad,000001.SH,50.5,10.2,示例请替换(net_inflow单位亿元) +20240924,588000.SH,科创50ETF,star,000688.SH,20.1,5.0,示例请替换 +20240924,159915.SZ,创业板ETF,chinext,399006.SZ,15.3,4.1,示例请替换 diff --git a/ddl/event_import_template.csv b/ddl/event_import_template.csv new file mode 100644 index 0000000..fb930da --- /dev/null +++ b/ddl/event_import_template.csv @@ -0,0 +1,6 @@ +event_date,title,category,impact_direction,severity,related_indices,cycle_tag,description,source_url +20150612,上证见顶5178点,情绪,bearish,5,000001.SH,top,杠杆牛见顶随后股灾(示例请替换), +20150708,国家队入场救市,政策,bullish,4,,bottom,汇金证金入场(示例请替换), +20160104,熔断机制首日,监管,bearish,4,,none,熔断触发提前收市(示例请替换), +20190104,上证2440见底,资金,bullish,5,000001.SH,bottom,政策底后的市场底(示例请替换), +20210218,核心资产抱团见顶,情绪,bearish,4,,top,春节后抱团股回落(示例请替换), diff --git a/ddl/own_db_init.sql b/ddl/own_db_init.sql new file mode 100644 index 0000000..f6bf489 --- /dev/null +++ b/ddl/own_db_init.sql @@ -0,0 +1,85 @@ +-- 自有库(Postgres)建表脚本。 +-- docker-compose 首次启动会自动执行;也可手工 psql -f 执行。 +-- 与 backend/app/db.py 的 ORM 模型保持一致。 + +-- ============ 指数日线(同步落地)============ +CREATE TABLE IF NOT EXISTS index_daily ( + id SERIAL PRIMARY KEY, + index_code VARCHAR(16) NOT NULL, + trade_date DATE NOT NULL, + open NUMERIC(16,4), + high NUMERIC(16,4), + low NUMERIC(16,4), + close NUMERIC(16,4), + volume BIGINT, + amount NUMERIC(24,4), + pct_chg NUMERIC(10,4), + turnover_rate NUMERIC(10,4), + ohlc_source VARCHAR(24) DEFAULT 'close_only', + updated_at TIMESTAMP DEFAULT now(), + CONSTRAINT uq_index_daily UNIQUE (index_code, trade_date) +); +CREATE INDEX IF NOT EXISTS ix_index_daily_code ON index_daily (index_code); +CREATE INDEX IF NOT EXISTS ix_index_daily_date ON index_daily (trade_date); + +-- ============ 情绪日度 ============ +CREATE TABLE IF NOT EXISTS sentiment_daily ( + trade_date DATE PRIMARY KEY, + up_down_ratio NUMERIC(10,4), + median_pct_chg NUMERIC(10,4), + pct_chg_gt_5_count INTEGER, + limit_up_count INTEGER, + limit_down_count INTEGER, + margin_balance NUMERIC(24,4), + new_accounts INTEGER, + sentiment_score NUMERIC(10,4), + updated_at TIMESTAMP DEFAULT now() +); + +-- ============ ETF 流入(人工/导入/自动)============ +-- 说明:etf_code 每个交易日应唯一。类别聚合行请用形如 'AGG_broad' 的 code,避免空串冲突。 +CREATE TABLE IF NOT EXISTS etf_flow ( + id SERIAL PRIMARY KEY, + trade_date DATE NOT NULL, + etf_code VARCHAR(24) DEFAULT '', + etf_name VARCHAR(64), + category VARCHAR(32), + related_index VARCHAR(16), + net_inflow NUMERIC(20,4), -- 亿元 + shares_change NUMERIC(20,4), -- 亿份 + source VARCHAR(16) DEFAULT 'manual', + note TEXT, + created_at TIMESTAMP DEFAULT now(), + CONSTRAINT uq_etf_flow UNIQUE (trade_date, etf_code) +); +CREATE INDEX IF NOT EXISTS ix_etf_flow_date ON etf_flow (trade_date); + +-- ============ 重大事件 ============ +CREATE TABLE IF NOT EXISTS market_event ( + id SERIAL PRIMARY KEY, + event_date DATE NOT NULL, + title VARCHAR(255) NOT NULL, + category VARCHAR(32) DEFAULT '其他', -- 监管/IPO/政策/资金/外部/其他 + impact_direction VARCHAR(16) DEFAULT 'neutral', -- bullish/bearish/neutral + severity INTEGER DEFAULT 3, -- 1-5 + related_indices VARCHAR(128), -- CSV,空=全市场 + cycle_tag VARCHAR(16) DEFAULT 'none', -- top/bottom/none + description TEXT, + source_url VARCHAR(512), + source VARCHAR(16) DEFAULT 'manual', + created_at TIMESTAMP DEFAULT now(), + updated_at TIMESTAMP DEFAULT now() +); +CREATE INDEX IF NOT EXISTS ix_market_event_date ON market_event (event_date); + +-- ============ 人工顶底标注 ============ +CREATE TABLE IF NOT EXISTS cycle_annotation ( + id SERIAL PRIMARY KEY, + index_code VARCHAR(16) NOT NULL, + anno_date DATE NOT NULL, + kind VARCHAR(16) DEFAULT 'watch', -- top/bottom/watch + note TEXT, + created_at TIMESTAMP DEFAULT now() +); +CREATE INDEX IF NOT EXISTS ix_cycle_anno_code ON cycle_annotation (index_code); +CREATE INDEX IF NOT EXISTS ix_cycle_anno_date ON cycle_annotation (anno_date); diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..888ccc1 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,34 @@ +services: + db: + image: postgres:16-alpine + container_name: asevent-db + environment: + POSTGRES_USER: ${POSTGRES_USER:-asevent} + POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-asevent} + POSTGRES_DB: ${POSTGRES_DB:-asevent} + volumes: + - asevent_pgdata:/var/lib/postgresql/data + # 首次启动自动执行建表脚本 + - ./ddl/own_db_init.sql:/docker-entrypoint-initdb.d/01_init.sql:ro + healthcheck: + test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER:-asevent}"] + interval: 5s + timeout: 3s + retries: 10 + restart: unless-stopped + + backend: + build: + context: . + dockerfile: backend/Dockerfile + container_name: asevent-backend + env_file: .env + depends_on: + db: + condition: service_healthy + ports: + - "${BACKEND_PORT:-8000}:8000" + restart: unless-stopped + +volumes: + asevent_pgdata: diff --git a/frontend/index.html b/frontend/index.html new file mode 100644 index 0000000..8e175c9 --- /dev/null +++ b/frontend/index.html @@ -0,0 +1,321 @@ + + + + + +A股大事记录 · 大周期择时看板 + + + + +

+

📈 A股大事记录 · 大周期择时看板

+
+
+ + + + + +
+
+
加载中…
+
+ +
+
+

重大事件

+ + +
日期标题类别方向级别顶底
+
点击图上事件标记或此表可定位。事件可 CSV 批量导入:POST /api/events/import(模板见 ddl/event_import_template.csv)。
+
+ +
+

新增事件(人工录入)

+
+ + + + + + + + +
+
+
+ 利多 + 利空 + 中性 · + 温度副图:红=过热(顶部风险)蓝=冰点(底部机会) +
+
+
+ + + + diff --git a/frontend/vendor/echarts.min.js b/frontend/vendor/echarts.min.js new file mode 100644 index 0000000..835966f --- /dev/null +++ b/frontend/vendor/echarts.min.js @@ -0,0 +1,45 @@ + +/* +* Licensed to the Apache Software Foundation (ASF) under one +* or more contributor license agreements. See the NOTICE file +* distributed with this work for additional information +* regarding copyright ownership. The ASF licenses this file +* to you under the Apache License, Version 2.0 (the +* "License"); you may not use this file except in compliance +* with the License. You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, +* software distributed under the License is distributed on an +* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +* KIND, either express or implied. See the License for the +* specific language governing permissions and limitations +* under the License. +*/ + +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).echarts={})}(this,(function(t){"use strict"; +/*! ***************************************************************************** + 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 e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])},e(t,n)};function n(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}var i=function(){this.firefox=!1,this.ie=!1,this.edge=!1,this.newEdge=!1,this.weChat=!1},r=new function(){this.browser=new i,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="undefined"!=typeof window};"object"==typeof wx&&"function"==typeof wx.getSystemInfoSync?(r.wxa=!0,r.touchEventsSupported=!0):"undefined"==typeof document&&"undefined"!=typeof self?r.worker=!0:"undefined"==typeof navigator||0===navigator.userAgent.indexOf("Node.js")?(r.node=!0,r.svgSupported=!0):function(t,e){var n=e.browser,i=t.match(/Firefox\/([\d.]+)/),r=t.match(/MSIE\s([\d.]+)/)||t.match(/Trident\/.+?rv:(([\d.]+))/),o=t.match(/Edge?\/([\d.]+)/),a=/micromessenger/i.test(t);i&&(n.firefox=!0,n.version=i[1]);r&&(n.ie=!0,n.version=r[1]);o&&(n.edge=!0,n.version=o[1],n.newEdge=+o[1].split(".")[0]>18);a&&(n.weChat=!0);e.svgSupported="undefined"!=typeof SVGRect,e.touchEventsSupported="ontouchstart"in window&&!n.ie&&!n.edge,e.pointerEventsSupported="onpointerdown"in window&&(n.edge||n.ie&&+n.version>=11),e.domSupported="undefined"!=typeof document;var s=document.documentElement.style;e.transform3dSupported=(n.ie&&"transition"in s||n.edge||"WebKitCSSMatrix"in window&&"m11"in new WebKitCSSMatrix||"MozPerspective"in s)&&!("OTransition"in s),e.transformSupported=e.transform3dSupported||n.ie&&+n.version>=9}(navigator.userAgent,r);var o="sans-serif",a="12px "+o;var s,l,u=function(t){var e={};if("undefined"==typeof JSON)return e;for(var n=0;n=0)o=r*t.length;else for(var c=0;c>1)%2;a.style.cssText=["position: absolute","visibility: hidden","padding: 0","margin: 0","border-width: 0","user-select: none","width:0","height:0",i[s]+":0",r[l]+":0",i[1-s]+":auto",r[1-l]+":auto",""].join("!important;"),t.appendChild(a),n.push(a)}return n}(e,a),l=function(t,e,n){for(var i=n?"invTrans":"trans",r=e[i],o=e.srcCoords,a=[],s=[],l=!0,u=0;u<4;u++){var h=t[u].getBoundingClientRect(),c=2*u,p=h.left,d=h.top;a.push(p,d),l=l&&o&&p===o[c]&&d===o[c+1],s.push(t[u].offsetLeft,t[u].offsetTop)}return l&&r?r:(e.srcCoords=a,e[i]=n?$t(s,a):$t(a,s))}(s,a,o);if(l)return l(t,n,i),!0}return!1}function ee(t){return"CANVAS"===t.nodeName.toUpperCase()}var ne=/([&<>"'])/g,ie={"&":"&","<":"<",">":">",'"':""","'":"'"};function re(t){return null==t?"":(t+"").replace(ne,(function(t,e){return ie[e]}))}var oe=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,ae=[],se=r.browser.firefox&&+r.browser.version.split(".")[0]<39;function le(t,e,n,i){return n=n||{},i?ue(t,e,n):se&&null!=e.layerX&&e.layerX!==e.offsetX?(n.zrX=e.layerX,n.zrY=e.layerY):null!=e.offsetX?(n.zrX=e.offsetX,n.zrY=e.offsetY):ue(t,e,n),n}function ue(t,e,n){if(r.domSupported&&t.getBoundingClientRect){var i=e.clientX,o=e.clientY;if(ee(t)){var a=t.getBoundingClientRect();return n.zrX=i-a.left,void(n.zrY=o-a.top)}if(te(ae,t,i,o))return n.zrX=ae[0],void(n.zrY=ae[1])}n.zrX=n.zrY=0}function he(t){return t||window.event}function ce(t,e,n){if(null!=(e=he(e)).zrX)return e;var i=e.type;if(i&&i.indexOf("touch")>=0){var r="touchend"!==i?e.targetTouches[0]:e.changedTouches[0];r&&le(t,r,e,n)}else{le(t,e,e,n);var o=function(t){var e=t.wheelDelta;if(e)return e;var n=t.deltaX,i=t.deltaY;if(null==n||null==i)return e;return 3*(0!==i?Math.abs(i):Math.abs(n))*(i>0?-1:i<0?1:n>0?-1:1)}(e);e.zrDelta=o?o/120:-(e.detail||0)/3}var a=e.button;return null==e.which&&void 0!==a&&oe.test(e.type)&&(e.which=1&a?1:2&a?3:4&a?2:0),e}function pe(t,e,n,i){t.addEventListener(e,n,i)}var de=function(t){t.preventDefault(),t.stopPropagation(),t.cancelBubble=!0};function fe(t){return 2===t.which||3===t.which}var ge=function(){function t(){this._track=[]}return t.prototype.recognize=function(t,e,n){return this._doTrack(t,e,n),this._recognize(t)},t.prototype.clear=function(){return this._track.length=0,this},t.prototype._doTrack=function(t,e,n){var i=t.touches;if(i){for(var r={points:[],touches:[],target:e,event:t},o=0,a=i.length;o1&&r&&r.length>1){var a=ye(r)/ye(o);!isFinite(a)&&(a=1),e.pinchScale=a;var s=[((i=r)[0][0]+i[1][0])/2,(i[0][1]+i[1][1])/2];return e.pinchX=s[0],e.pinchY=s[1],{type:"pinch",target:t[0].target,event:e}}}}};function me(){return[1,0,0,1,0,0]}function xe(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t[4]=0,t[5]=0,t}function _e(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t}function be(t,e,n){var i=e[0]*n[0]+e[2]*n[1],r=e[1]*n[0]+e[3]*n[1],o=e[0]*n[2]+e[2]*n[3],a=e[1]*n[2]+e[3]*n[3],s=e[0]*n[4]+e[2]*n[5]+e[4],l=e[1]*n[4]+e[3]*n[5]+e[5];return t[0]=i,t[1]=r,t[2]=o,t[3]=a,t[4]=s,t[5]=l,t}function we(t,e,n){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4]+n[0],t[5]=e[5]+n[1],t}function Se(t,e,n,i){void 0===i&&(i=[0,0]);var r=e[0],o=e[2],a=e[4],s=e[1],l=e[3],u=e[5],h=Math.sin(n),c=Math.cos(n);return t[0]=r*c+s*h,t[1]=-r*h+s*c,t[2]=o*c+l*h,t[3]=-o*h+c*l,t[4]=c*(a-i[0])+h*(u-i[1])+i[0],t[5]=c*(u-i[1])-h*(a-i[0])+i[1],t}function Me(t,e,n){var i=n[0],r=n[1];return t[0]=e[0]*i,t[1]=e[1]*r,t[2]=e[2]*i,t[3]=e[3]*r,t[4]=e[4]*i,t[5]=e[5]*r,t}function Ie(t,e){var n=e[0],i=e[2],r=e[4],o=e[1],a=e[3],s=e[5],l=n*a-o*i;return l?(l=1/l,t[0]=a*l,t[1]=-o*l,t[2]=-i*l,t[3]=n*l,t[4]=(i*s-a*r)*l,t[5]=(o*r-n*s)*l,t):null}function Te(t){var e=[1,0,0,1,0,0];return _e(e,t),e}var Ce=Object.freeze({__proto__:null,create:me,identity:xe,copy:_e,mul:be,translate:we,rotate:Se,scale:Me,invert:Ie,clone:Te}),De=function(){function t(t,e){this.x=t||0,this.y=e||0}return t.prototype.copy=function(t){return this.x=t.x,this.y=t.y,this},t.prototype.clone=function(){return new t(this.x,this.y)},t.prototype.set=function(t,e){return this.x=t,this.y=e,this},t.prototype.equal=function(t){return t.x===this.x&&t.y===this.y},t.prototype.add=function(t){return this.x+=t.x,this.y+=t.y,this},t.prototype.scale=function(t){this.x*=t,this.y*=t},t.prototype.scaleAndAdd=function(t,e){this.x+=t.x*e,this.y+=t.y*e},t.prototype.sub=function(t){return this.x-=t.x,this.y-=t.y,this},t.prototype.dot=function(t){return this.x*t.x+this.y*t.y},t.prototype.len=function(){return Math.sqrt(this.x*this.x+this.y*this.y)},t.prototype.lenSquare=function(){return this.x*this.x+this.y*this.y},t.prototype.normalize=function(){var t=this.len();return this.x/=t,this.y/=t,this},t.prototype.distance=function(t){var e=this.x-t.x,n=this.y-t.y;return Math.sqrt(e*e+n*n)},t.prototype.distanceSquare=function(t){var e=this.x-t.x,n=this.y-t.y;return e*e+n*n},t.prototype.negate=function(){return this.x=-this.x,this.y=-this.y,this},t.prototype.transform=function(t){if(t){var e=this.x,n=this.y;return this.x=t[0]*e+t[2]*n+t[4],this.y=t[1]*e+t[3]*n+t[5],this}},t.prototype.toArray=function(t){return t[0]=this.x,t[1]=this.y,t},t.prototype.fromArray=function(t){this.x=t[0],this.y=t[1]},t.set=function(t,e,n){t.x=e,t.y=n},t.copy=function(t,e){t.x=e.x,t.y=e.y},t.len=function(t){return Math.sqrt(t.x*t.x+t.y*t.y)},t.lenSquare=function(t){return t.x*t.x+t.y*t.y},t.dot=function(t,e){return t.x*e.x+t.y*e.y},t.add=function(t,e,n){t.x=e.x+n.x,t.y=e.y+n.y},t.sub=function(t,e,n){t.x=e.x-n.x,t.y=e.y-n.y},t.scale=function(t,e,n){t.x=e.x*n,t.y=e.y*n},t.scaleAndAdd=function(t,e,n,i){t.x=e.x+n.x*i,t.y=e.y+n.y*i},t.lerp=function(t,e,n,i){var r=1-i;t.x=r*e.x+i*n.x,t.y=r*e.y+i*n.y},t}(),Ae=Math.min,ke=Math.max,Le=new De,Pe=new De,Oe=new De,Re=new De,Ne=new De,Ee=new De,ze=function(){function t(t,e,n,i){n<0&&(t+=n,n=-n),i<0&&(e+=i,i=-i),this.x=t,this.y=e,this.width=n,this.height=i}return t.prototype.union=function(t){var e=Ae(t.x,this.x),n=Ae(t.y,this.y);isFinite(this.x)&&isFinite(this.width)?this.width=ke(t.x+t.width,this.x+this.width)-e:this.width=t.width,isFinite(this.y)&&isFinite(this.height)?this.height=ke(t.y+t.height,this.y+this.height)-n:this.height=t.height,this.x=e,this.y=n},t.prototype.applyTransform=function(e){t.applyTransform(this,this,e)},t.prototype.calculateTransform=function(t){var e=this,n=t.width/e.width,i=t.height/e.height,r=[1,0,0,1,0,0];return we(r,r,[-e.x,-e.y]),Me(r,r,[n,i]),we(r,r,[t.x,t.y]),r},t.prototype.intersect=function(e,n){if(!e)return!1;e instanceof t||(e=t.create(e));var i=this,r=i.x,o=i.x+i.width,a=i.y,s=i.y+i.height,l=e.x,u=e.x+e.width,h=e.y,c=e.y+e.height,p=!(of&&(f=x,gf&&(f=_,v=n.x&&t<=n.x+n.width&&e>=n.y&&e<=n.y+n.height},t.prototype.clone=function(){return new t(this.x,this.y,this.width,this.height)},t.prototype.copy=function(e){t.copy(this,e)},t.prototype.plain=function(){return{x:this.x,y:this.y,width:this.width,height:this.height}},t.prototype.isFinite=function(){return isFinite(this.x)&&isFinite(this.y)&&isFinite(this.width)&&isFinite(this.height)},t.prototype.isZero=function(){return 0===this.width||0===this.height},t.create=function(e){return new t(e.x,e.y,e.width,e.height)},t.copy=function(t,e){t.x=e.x,t.y=e.y,t.width=e.width,t.height=e.height},t.applyTransform=function(e,n,i){if(i){if(i[1]<1e-5&&i[1]>-1e-5&&i[2]<1e-5&&i[2]>-1e-5){var r=i[0],o=i[3],a=i[4],s=i[5];return e.x=n.x*r+a,e.y=n.y*o+s,e.width=n.width*r,e.height=n.height*o,e.width<0&&(e.x+=e.width,e.width=-e.width),void(e.height<0&&(e.y+=e.height,e.height=-e.height))}Le.x=Oe.x=n.x,Le.y=Re.y=n.y,Pe.x=Re.x=n.x+n.width,Pe.y=Oe.y=n.y+n.height,Le.transform(i),Re.transform(i),Pe.transform(i),Oe.transform(i),e.x=Ae(Le.x,Pe.x,Oe.x,Re.x),e.y=Ae(Le.y,Pe.y,Oe.y,Re.y);var l=ke(Le.x,Pe.x,Oe.x,Re.x),u=ke(Le.y,Pe.y,Oe.y,Re.y);e.width=l-e.x,e.height=u-e.y}else e!==n&&t.copy(e,n)},t}(),Ve="silent";function Be(){de(this.event)}var Fe=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.handler=null,e}return n(e,t),e.prototype.dispose=function(){},e.prototype.setCursor=function(){},e}(jt),Ge=function(t,e){this.x=t,this.y=e},We=["click","dblclick","mousewheel","mouseout","mouseup","mousedown","mousemove","contextmenu"],He=new ze(0,0,0,0),Ye=function(t){function e(e,n,i,r,o){var a=t.call(this)||this;return a._hovered=new Ge(0,0),a.storage=e,a.painter=n,a.painterRoot=r,a._pointerSize=o,i=i||new Fe,a.proxy=null,a.setHandlerProxy(i),a._draggingMgr=new Zt(a),a}return n(e,t),e.prototype.setHandlerProxy=function(t){this.proxy&&this.proxy.dispose(),t&&(E(We,(function(e){t.on&&t.on(e,this[e],this)}),this),t.handler=this),this.proxy=t},e.prototype.mousemove=function(t){var e=t.zrX,n=t.zrY,i=Ze(this,e,n),r=this._hovered,o=r.target;o&&!o.__zr&&(o=(r=this.findHover(r.x,r.y)).target);var a=this._hovered=i?new Ge(e,n):this.findHover(e,n),s=a.target,l=this.proxy;l.setCursor&&l.setCursor(s?s.cursor:"default"),o&&s!==o&&this.dispatchToElement(r,"mouseout",t),this.dispatchToElement(a,"mousemove",t),s&&s!==o&&this.dispatchToElement(a,"mouseover",t)},e.prototype.mouseout=function(t){var e=t.zrEventControl;"only_globalout"!==e&&this.dispatchToElement(this._hovered,"mouseout",t),"no_globalout"!==e&&this.trigger("globalout",{type:"globalout",event:t})},e.prototype.resize=function(){this._hovered=new Ge(0,0)},e.prototype.dispatch=function(t,e){var n=this[t];n&&n.call(this,e)},e.prototype.dispose=function(){this.proxy.dispose(),this.storage=null,this.proxy=null,this.painter=null},e.prototype.setCursorStyle=function(t){var e=this.proxy;e.setCursor&&e.setCursor(t)},e.prototype.dispatchToElement=function(t,e,n){var i=(t=t||{}).target;if(!i||!i.silent){for(var r="on"+e,o=function(t,e,n){return{type:t,event:n,target:e.target,topTarget:e.topTarget,cancelBubble:!1,offsetX:n.zrX,offsetY:n.zrY,gestureEvent:n.gestureEvent,pinchX:n.pinchX,pinchY:n.pinchY,pinchScale:n.pinchScale,wheelDelta:n.zrDelta,zrByTouch:n.zrByTouch,which:n.which,stop:Be}}(e,t,n);i&&(i[r]&&(o.cancelBubble=!!i[r].call(i,o)),i.trigger(e,o),i=i.__hostTarget?i.__hostTarget:i.parent,!o.cancelBubble););o.cancelBubble||(this.trigger(e,o),this.painter&&this.painter.eachOtherLayer&&this.painter.eachOtherLayer((function(t){"function"==typeof t[r]&&t[r].call(t,o),t.trigger&&t.trigger(e,o)})))}},e.prototype.findHover=function(t,e,n){var i=this.storage.getDisplayList(),r=new Ge(t,e);if(Ue(i,r,t,e,n),this._pointerSize&&!r.target){for(var o=[],a=this._pointerSize,s=a/2,l=new ze(t-s,e-s,a,a),u=i.length-1;u>=0;u--){var h=i[u];h===n||h.ignore||h.ignoreCoarsePointer||h.parent&&h.parent.ignoreCoarsePointer||(He.copy(h.getBoundingRect()),h.transform&&He.applyTransform(h.transform),He.intersect(l)&&o.push(h))}if(o.length)for(var c=Math.PI/12,p=2*Math.PI,d=0;d=0;o--){var a=t[o],s=void 0;if(a!==r&&!a.ignore&&(s=Xe(a,n,i))&&(!e.topTarget&&(e.topTarget=a),s!==Ve)){e.target=a;break}}}function Ze(t,e,n){var i=t.painter;return e<0||e>i.getWidth()||n<0||n>i.getHeight()}E(["click","mousedown","mouseup","mousewheel","dblclick","contextmenu"],(function(t){Ye.prototype[t]=function(e){var n,i,r=e.zrX,o=e.zrY,a=Ze(this,r,o);if("mouseup"===t&&a||(i=(n=this.findHover(r,o)).target),"mousedown"===t)this._downEl=i,this._downPoint=[e.zrX,e.zrY],this._upEl=i;else if("mouseup"===t)this._upEl=i;else if("click"===t){if(this._downEl!==this._upEl||!this._downPoint||Vt(this._downPoint,[e.zrX,e.zrY])>4)return;this._downPoint=null}this.dispatchToElement(n,t,e)}}));function je(t,e,n,i){var r=e+1;if(r===n)return 1;if(i(t[r++],t[e])<0){for(;r=0;)r++;return r-e}function qe(t,e,n,i,r){for(i===e&&i++;i>>1])<0?l=o:s=o+1;var u=i-s;switch(u){case 3:t[s+3]=t[s+2];case 2:t[s+2]=t[s+1];case 1:t[s+1]=t[s];break;default:for(;u>0;)t[s+u]=t[s+u-1],u--}t[s]=a}}function Ke(t,e,n,i,r,o){var a=0,s=0,l=1;if(o(t,e[n+r])>0){for(s=i-r;l0;)a=l,(l=1+(l<<1))<=0&&(l=s);l>s&&(l=s),a+=r,l+=r}else{for(s=r+1;ls&&(l=s);var u=a;a=r-l,l=r-u}for(a++;a>>1);o(t,e[n+h])>0?a=h+1:l=h}return l}function $e(t,e,n,i,r,o){var a=0,s=0,l=1;if(o(t,e[n+r])<0){for(s=r+1;ls&&(l=s);var u=a;a=r-l,l=r-u}else{for(s=i-r;l=0;)a=l,(l=1+(l<<1))<=0&&(l=s);l>s&&(l=s),a+=r,l+=r}for(a++;a>>1);o(t,e[n+h])<0?l=h:a=h+1}return l}function Je(t,e){var n,i,r=7,o=0,a=[];function s(s){var l=n[s],u=i[s],h=n[s+1],c=i[s+1];i[s]=u+c,s===o-3&&(n[s+1]=n[s+2],i[s+1]=i[s+2]),o--;var p=$e(t[h],t,l,u,0,e);l+=p,0!==(u-=p)&&0!==(c=Ke(t[l+u-1],t,h,c,c-1,e))&&(u<=c?function(n,i,o,s){var l=0;for(l=0;l=7||d>=7);if(f)break;g<0&&(g=0),g+=2}if((r=g)<1&&(r=1),1===i){for(l=0;l=0;l--)t[d+l]=t[p+l];return void(t[c]=a[h])}var f=r;for(;;){var g=0,y=0,v=!1;do{if(e(a[h],t[u])<0){if(t[c--]=t[u--],g++,y=0,0==--i){v=!0;break}}else if(t[c--]=a[h--],y++,g=0,1==--s){v=!0;break}}while((g|y)=0;l--)t[d+l]=t[p+l];if(0===i){v=!0;break}}if(t[c--]=a[h--],1==--s){v=!0;break}if(0!==(y=s-Ke(t[u],a,0,s,s-1,e))){for(s-=y,d=(c-=y)+1,p=(h-=y)+1,l=0;l=7||y>=7);if(v)break;f<0&&(f=0),f+=2}(r=f)<1&&(r=1);if(1===s){for(d=(c-=i)+1,p=(u-=i)+1,l=i-1;l>=0;l--)t[d+l]=t[p+l];t[c]=a[h]}else{if(0===s)throw new Error;for(p=c-(s-1),l=0;l1;){var t=o-2;if(t>=1&&i[t-1]<=i[t]+i[t+1]||t>=2&&i[t-2]<=i[t]+i[t-1])i[t-1]i[t+1])break;s(t)}},forceMergeRuns:function(){for(;o>1;){var t=o-2;t>0&&i[t-1]=32;)e|=1&t,t>>=1;return t+e}(r);do{if((o=je(t,n,i,e))s&&(l=s),qe(t,n,n+l,n+o,e),o=l}a.pushRun(n,o),a.mergeRuns(),r-=o,n+=o}while(0!==r);a.forceMergeRuns()}}}var tn=!1;function en(){tn||(tn=!0,console.warn("z / z2 / zlevel of displayable is invalid, which may cause unexpected errors"))}function nn(t,e){return t.zlevel===e.zlevel?t.z===e.z?t.z2-e.z2:t.z-e.z:t.zlevel-e.zlevel}var rn=function(){function t(){this._roots=[],this._displayList=[],this._displayListLen=0,this.displayableSortFunc=nn}return t.prototype.traverse=function(t,e){for(var n=0;n0&&(u.__clipPaths=[]),isNaN(u.z)&&(en(),u.z=0),isNaN(u.z2)&&(en(),u.z2=0),isNaN(u.zlevel)&&(en(),u.zlevel=0),this._displayList[this._displayListLen++]=u}var h=t.getDecalElement&&t.getDecalElement();h&&this._updateAndAddDisplayable(h,e,n);var c=t.getTextGuideLine();c&&this._updateAndAddDisplayable(c,e,n);var p=t.getTextContent();p&&this._updateAndAddDisplayable(p,e,n)}},t.prototype.addRoot=function(t){t.__zr&&t.__zr.storage===this||this._roots.push(t)},t.prototype.delRoot=function(t){if(t instanceof Array)for(var e=0,n=t.length;e=0&&this._roots.splice(i,1)}},t.prototype.delAllRoots=function(){this._roots=[],this._displayList=[],this._displayListLen=0},t.prototype.getRoots=function(){return this._roots},t.prototype.dispose=function(){this._displayList=null,this._roots=null},t}(),on=r.hasGlobalWindow&&(window.requestAnimationFrame&&window.requestAnimationFrame.bind(window)||window.msRequestAnimationFrame&&window.msRequestAnimationFrame.bind(window)||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame)||function(t){return setTimeout(t,16)},an={linear:function(t){return t},quadraticIn:function(t){return t*t},quadraticOut:function(t){return t*(2-t)},quadraticInOut:function(t){return(t*=2)<1?.5*t*t:-.5*(--t*(t-2)-1)},cubicIn:function(t){return t*t*t},cubicOut:function(t){return--t*t*t+1},cubicInOut:function(t){return(t*=2)<1?.5*t*t*t:.5*((t-=2)*t*t+2)},quarticIn:function(t){return t*t*t*t},quarticOut:function(t){return 1- --t*t*t*t},quarticInOut:function(t){return(t*=2)<1?.5*t*t*t*t:-.5*((t-=2)*t*t*t-2)},quinticIn:function(t){return t*t*t*t*t},quinticOut:function(t){return--t*t*t*t*t+1},quinticInOut:function(t){return(t*=2)<1?.5*t*t*t*t*t:.5*((t-=2)*t*t*t*t+2)},sinusoidalIn:function(t){return 1-Math.cos(t*Math.PI/2)},sinusoidalOut:function(t){return Math.sin(t*Math.PI/2)},sinusoidalInOut:function(t){return.5*(1-Math.cos(Math.PI*t))},exponentialIn:function(t){return 0===t?0:Math.pow(1024,t-1)},exponentialOut:function(t){return 1===t?1:1-Math.pow(2,-10*t)},exponentialInOut:function(t){return 0===t?0:1===t?1:(t*=2)<1?.5*Math.pow(1024,t-1):.5*(2-Math.pow(2,-10*(t-1)))},circularIn:function(t){return 1-Math.sqrt(1-t*t)},circularOut:function(t){return Math.sqrt(1- --t*t)},circularInOut:function(t){return(t*=2)<1?-.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-(t-=2)*t)+1)},elasticIn:function(t){var e,n=.1;return 0===t?0:1===t?1:(!n||n<1?(n=1,e=.1):e=.4*Math.asin(1/n)/(2*Math.PI),-n*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4))},elasticOut:function(t){var e,n=.1;return 0===t?0:1===t?1:(!n||n<1?(n=1,e=.1):e=.4*Math.asin(1/n)/(2*Math.PI),n*Math.pow(2,-10*t)*Math.sin((t-e)*(2*Math.PI)/.4)+1)},elasticInOut:function(t){var e,n=.1,i=.4;return 0===t?0:1===t?1:(!n||n<1?(n=1,e=.1):e=i*Math.asin(1/n)/(2*Math.PI),(t*=2)<1?n*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/i)*-.5:n*Math.pow(2,-10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/i)*.5+1)},backIn:function(t){var e=1.70158;return t*t*((e+1)*t-e)},backOut:function(t){var e=1.70158;return--t*t*((e+1)*t+e)+1},backInOut:function(t){var e=2.5949095;return(t*=2)<1?t*t*((e+1)*t-e)*.5:.5*((t-=2)*t*((e+1)*t+e)+2)},bounceIn:function(t){return 1-an.bounceOut(1-t)},bounceOut:function(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375},bounceInOut:function(t){return t<.5?.5*an.bounceIn(2*t):.5*an.bounceOut(2*t-1)+.5}},sn=Math.pow,ln=Math.sqrt,un=1e-8,hn=1e-4,cn=ln(3),pn=1/3,dn=Mt(),fn=Mt(),gn=Mt();function yn(t){return t>-1e-8&&tun||t<-1e-8}function mn(t,e,n,i,r){var o=1-r;return o*o*(o*t+3*r*e)+r*r*(r*i+3*o*n)}function xn(t,e,n,i,r){var o=1-r;return 3*(((e-t)*o+2*(n-e)*r)*o+(i-n)*r*r)}function _n(t,e,n,i,r,o){var a=i+3*(e-n)-t,s=3*(n-2*e+t),l=3*(e-t),u=t-r,h=s*s-3*a*l,c=s*l-9*a*u,p=l*l-3*s*u,d=0;if(yn(h)&&yn(c)){if(yn(s))o[0]=0;else(M=-l/s)>=0&&M<=1&&(o[d++]=M)}else{var f=c*c-4*h*p;if(yn(f)){var g=c/h,y=-g/2;(M=-s/a+g)>=0&&M<=1&&(o[d++]=M),y>=0&&y<=1&&(o[d++]=y)}else if(f>0){var v=ln(f),m=h*s+1.5*a*(-c+v),x=h*s+1.5*a*(-c-v);(M=(-s-((m=m<0?-sn(-m,pn):sn(m,pn))+(x=x<0?-sn(-x,pn):sn(x,pn))))/(3*a))>=0&&M<=1&&(o[d++]=M)}else{var _=(2*h*s-3*a*c)/(2*ln(h*h*h)),b=Math.acos(_)/3,w=ln(h),S=Math.cos(b),M=(-s-2*w*S)/(3*a),I=(y=(-s+w*(S+cn*Math.sin(b)))/(3*a),(-s+w*(S-cn*Math.sin(b)))/(3*a));M>=0&&M<=1&&(o[d++]=M),y>=0&&y<=1&&(o[d++]=y),I>=0&&I<=1&&(o[d++]=I)}}return d}function bn(t,e,n,i,r){var o=6*n-12*e+6*t,a=9*e+3*i-3*t-9*n,s=3*e-3*t,l=0;if(yn(a)){if(vn(o))(h=-s/o)>=0&&h<=1&&(r[l++]=h)}else{var u=o*o-4*a*s;if(yn(u))r[0]=-o/(2*a);else if(u>0){var h,c=ln(u),p=(-o-c)/(2*a);(h=(-o+c)/(2*a))>=0&&h<=1&&(r[l++]=h),p>=0&&p<=1&&(r[l++]=p)}}return l}function wn(t,e,n,i,r,o){var a=(e-t)*r+t,s=(n-e)*r+e,l=(i-n)*r+n,u=(s-a)*r+a,h=(l-s)*r+s,c=(h-u)*r+u;o[0]=t,o[1]=a,o[2]=u,o[3]=c,o[4]=c,o[5]=h,o[6]=l,o[7]=i}function Sn(t,e,n,i,r,o,a,s,l,u,h){var c,p,d,f,g,y=.005,v=1/0;dn[0]=l,dn[1]=u;for(var m=0;m<1;m+=.05)fn[0]=mn(t,n,r,a,m),fn[1]=mn(e,i,o,s,m),(f=Ft(dn,fn))=0&&f=0&&y=1?1:_n(0,i,o,1,t,s)&&mn(0,r,a,1,s[0])}}}var On=function(){function t(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||bt,this.ondestroy=t.ondestroy||bt,this.onrestart=t.onrestart||bt,t.easing&&this.setEasing(t.easing)}return t.prototype.step=function(t,e){if(this._inited||(this._startTime=t+this._delay,this._inited=!0),!this._paused){var n=this._life,i=t-this._startTime-this._pausedTime,r=i/n;r<0&&(r=0),r=Math.min(r,1);var o=this.easingFunc,a=o?o(r):r;if(this.onframe(a),1===r){if(!this.loop)return!0;var s=i%n;this._startTime=t-s,this._pausedTime=0,this.onrestart()}return!1}this._pausedTime+=e},t.prototype.pause=function(){this._paused=!0},t.prototype.resume=function(){this._paused=!1},t.prototype.setEasing=function(t){this.easing=t,this.easingFunc=X(t)?t:an[t]||Pn(t)},t}(),Rn=function(t){this.value=t},Nn=function(){function t(){this._len=0}return t.prototype.insert=function(t){var e=new Rn(t);return this.insertEntry(e),e},t.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++},t.prototype.remove=function(t){var e=t.prev,n=t.next;e?e.next=n:this.head=n,n?n.prev=e:this.tail=e,t.next=t.prev=null,this._len--},t.prototype.len=function(){return this._len},t.prototype.clear=function(){this.head=this.tail=null,this._len=0},t}(),En=function(){function t(t){this._list=new Nn,this._maxSize=10,this._map={},this._maxSize=t}return t.prototype.put=function(t,e){var n=this._list,i=this._map,r=null;if(null==i[t]){var o=n.len(),a=this._lastRemovedEntry;if(o>=this._maxSize&&o>0){var s=n.head;n.remove(s),delete i[s.key],r=s.value,this._lastRemovedEntry=s}a?a.value=e:a=new Rn(e),a.key=t,n.insertEntry(a),i[t]=a}return r},t.prototype.get=function(t){var e=this._map[t],n=this._list;if(null!=e)return e!==n.tail&&(n.remove(e),n.insertEntry(e)),e.value},t.prototype.clear=function(){this._list.clear(),this._map={}},t.prototype.len=function(){return this._list.len()},t}(),zn={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 Vn(t){return(t=Math.round(t))<0?0:t>255?255:t}function Bn(t){return t<0?0:t>1?1:t}function Fn(t){var e=t;return e.length&&"%"===e.charAt(e.length-1)?Vn(parseFloat(e)/100*255):Vn(parseInt(e,10))}function Gn(t){var e=t;return e.length&&"%"===e.charAt(e.length-1)?Bn(parseFloat(e)/100):Bn(parseFloat(e))}function Wn(t,e,n){return n<0?n+=1:n>1&&(n-=1),6*n<1?t+(e-t)*n*6:2*n<1?e:3*n<2?t+(e-t)*(2/3-n)*6:t}function Hn(t,e,n){return t+(e-t)*n}function Yn(t,e,n,i,r){return t[0]=e,t[1]=n,t[2]=i,t[3]=r,t}function Xn(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t}var Un=new En(20),Zn=null;function jn(t,e){Zn&&Xn(Zn,e),Zn=Un.put(t,Zn||e.slice())}function qn(t,e){if(t){e=e||[];var n=Un.get(t);if(n)return Xn(e,n);var i=(t+="").replace(/ /g,"").toLowerCase();if(i in zn)return Xn(e,zn[i]),jn(t,e),e;var r,o=i.length;if("#"===i.charAt(0))return 4===o||5===o?(r=parseInt(i.slice(1,4),16))>=0&&r<=4095?(Yn(e,(3840&r)>>4|(3840&r)>>8,240&r|(240&r)>>4,15&r|(15&r)<<4,5===o?parseInt(i.slice(4),16)/15:1),jn(t,e),e):void Yn(e,0,0,0,1):7===o||9===o?(r=parseInt(i.slice(1,7),16))>=0&&r<=16777215?(Yn(e,(16711680&r)>>16,(65280&r)>>8,255&r,9===o?parseInt(i.slice(7),16)/255:1),jn(t,e),e):void Yn(e,0,0,0,1):void 0;var a=i.indexOf("("),s=i.indexOf(")");if(-1!==a&&s+1===o){var l=i.substr(0,a),u=i.substr(a+1,s-(a+1)).split(","),h=1;switch(l){case"rgba":if(4!==u.length)return 3===u.length?Yn(e,+u[0],+u[1],+u[2],1):Yn(e,0,0,0,1);h=Gn(u.pop());case"rgb":return u.length>=3?(Yn(e,Fn(u[0]),Fn(u[1]),Fn(u[2]),3===u.length?h:Gn(u[3])),jn(t,e),e):void Yn(e,0,0,0,1);case"hsla":return 4!==u.length?void Yn(e,0,0,0,1):(u[3]=Gn(u[3]),Kn(u,e),jn(t,e),e);case"hsl":return 3!==u.length?void Yn(e,0,0,0,1):(Kn(u,e),jn(t,e),e);default:return}}Yn(e,0,0,0,1)}}function Kn(t,e){var n=(parseFloat(t[0])%360+360)%360/360,i=Gn(t[1]),r=Gn(t[2]),o=r<=.5?r*(i+1):r+i-r*i,a=2*r-o;return Yn(e=e||[],Vn(255*Wn(a,o,n+1/3)),Vn(255*Wn(a,o,n)),Vn(255*Wn(a,o,n-1/3)),1),4===t.length&&(e[3]=t[3]),e}function $n(t,e){var n=qn(t);if(n){for(var i=0;i<3;i++)n[i]=e<0?n[i]*(1-e)|0:(255-n[i])*e+n[i]|0,n[i]>255?n[i]=255:n[i]<0&&(n[i]=0);return ri(n,4===n.length?"rgba":"rgb")}}function Jn(t,e,n){if(e&&e.length&&t>=0&&t<=1){n=n||[];var i=t*(e.length-1),r=Math.floor(i),o=Math.ceil(i),a=e[r],s=e[o],l=i-r;return n[0]=Vn(Hn(a[0],s[0],l)),n[1]=Vn(Hn(a[1],s[1],l)),n[2]=Vn(Hn(a[2],s[2],l)),n[3]=Bn(Hn(a[3],s[3],l)),n}}var Qn=Jn;function ti(t,e,n){if(e&&e.length&&t>=0&&t<=1){var i=t*(e.length-1),r=Math.floor(i),o=Math.ceil(i),a=qn(e[r]),s=qn(e[o]),l=i-r,u=ri([Vn(Hn(a[0],s[0],l)),Vn(Hn(a[1],s[1],l)),Vn(Hn(a[2],s[2],l)),Bn(Hn(a[3],s[3],l))],"rgba");return n?{color:u,leftIndex:r,rightIndex:o,value:i}:u}}var ei=ti;function ni(t,e,n,i){var r=qn(t);if(t)return r=function(t){if(t){var e,n,i=t[0]/255,r=t[1]/255,o=t[2]/255,a=Math.min(i,r,o),s=Math.max(i,r,o),l=s-a,u=(s+a)/2;if(0===l)e=0,n=0;else{n=u<.5?l/(s+a):l/(2-s-a);var h=((s-i)/6+l/2)/l,c=((s-r)/6+l/2)/l,p=((s-o)/6+l/2)/l;i===s?e=p-c:r===s?e=1/3+h-p:o===s&&(e=2/3+c-h),e<0&&(e+=1),e>1&&(e-=1)}var d=[360*e,n,u];return null!=t[3]&&d.push(t[3]),d}}(r),null!=e&&(r[0]=function(t){return(t=Math.round(t))<0?0:t>360?360:t}(e)),null!=n&&(r[1]=Gn(n)),null!=i&&(r[2]=Gn(i)),ri(Kn(r),"rgba")}function ii(t,e){var n=qn(t);if(n&&null!=e)return n[3]=Bn(e),ri(n,"rgba")}function ri(t,e){if(t&&t.length){var n=t[0]+","+t[1]+","+t[2];return"rgba"!==e&&"hsva"!==e&&"hsla"!==e||(n+=","+t[3]),e+"("+n+")"}}function oi(t,e){var n=qn(t);return n?(.299*n[0]+.587*n[1]+.114*n[2])*n[3]/255+(1-n[3])*e:0}var ai=new En(100);function si(t){if(U(t)){var e=ai.get(t);return e||(e=$n(t,-.1),ai.put(t,e)),e}if(Q(t)){var n=A({},t);return n.colorStops=z(t.colorStops,(function(t){return{offset:t.offset,color:$n(t.color,-.1)}})),n}return t}var li=Object.freeze({__proto__:null,parse:qn,lift:$n,toHex:function(t){var e=qn(t);if(e)return((1<<24)+(e[0]<<16)+(e[1]<<8)+ +e[2]).toString(16).slice(1)},fastLerp:Jn,fastMapToColor:Qn,lerp:ti,mapToColor:ei,modifyHSL:ni,modifyAlpha:ii,stringify:ri,lum:oi,random:function(){return ri([Math.round(255*Math.random()),Math.round(255*Math.random()),Math.round(255*Math.random())],"rgb")},liftColor:si}),ui=Math.round;function hi(t){var e;if(t&&"transparent"!==t){if("string"==typeof t&&t.indexOf("rgba")>-1){var n=qn(t);n&&(t="rgb("+n[0]+","+n[1]+","+n[2]+")",e=n[3])}}else t="none";return{color:t,opacity:null==e?1:e}}var ci=1e-4;function pi(t){return t-1e-4}function di(t){return ui(1e3*t)/1e3}function fi(t){return ui(1e4*t)/1e4}var gi={left:"start",right:"end",center:"middle",middle:"middle"};function yi(t){return t&&!!t.image}function vi(t){return yi(t)||function(t){return t&&!!t.svgElement}(t)}function mi(t){return"linear"===t.type}function xi(t){return"radial"===t.type}function _i(t){return t&&("linear"===t.type||"radial"===t.type)}function bi(t){return"url(#"+t+")"}function wi(t){var e=t.getGlobalScale(),n=Math.max(e[0],e[1]);return Math.max(Math.ceil(Math.log(n)/Math.log(10)),1)}function Si(t){var e=t.x||0,n=t.y||0,i=(t.rotation||0)*wt,r=rt(t.scaleX,1),o=rt(t.scaleY,1),a=t.skewX||0,s=t.skewY||0,l=[];return(e||n)&&l.push("translate("+e+"px,"+n+"px)"),i&&l.push("rotate("+i+")"),1===r&&1===o||l.push("scale("+r+","+o+")"),(a||s)&&l.push("skew("+ui(a*wt)+"deg, "+ui(s*wt)+"deg)"),l.join(" ")}var Mi=r.hasGlobalWindow&&X(window.btoa)?function(t){return window.btoa(unescape(encodeURIComponent(t)))}:"undefined"!=typeof Buffer?function(t){return Buffer.from(t).toString("base64")}:function(t){return null},Ii=Array.prototype.slice;function Ti(t,e,n){return(e-t)*n+t}function Ci(t,e,n,i){for(var r=e.length,o=0;oi?e:t,o=Math.min(n,i),a=r[o-1]||{color:[0,0,0,0],offset:0},s=o;sa)i.length=a;else for(var s=o;s=1},t.prototype.getAdditiveTrack=function(){return this._additiveTrack},t.prototype.addKeyframe=function(t,e,n){this._needsSort=!0;var i=this.keyframes,r=i.length,o=!1,a=6,s=e;if(N(e)){var l=function(t){return N(t&&t[0])?2:1}(e);a=l,(1===l&&!j(e[0])||2===l&&!j(e[0][0]))&&(o=!0)}else if(j(e)&&!nt(e))a=0;else if(U(e))if(isNaN(+e)){var u=qn(e);u&&(s=u,a=3)}else a=0;else if(Q(e)){var h=A({},s);h.colorStops=z(e.colorStops,(function(t){return{offset:t.offset,color:qn(t.color)}})),mi(e)?a=4:xi(e)&&(a=5),s=h}0===r?this.valType=a:a===this.valType&&6!==a||(o=!0),this.discrete=this.discrete||o;var c={time:t,value:s,rawValue:e,percent:0};return n&&(c.easing=n,c.easingFunc=X(n)?n:an[n]||Pn(n)),i.push(c),c},t.prototype.prepare=function(t,e){var n=this.keyframes;this._needsSort&&n.sort((function(t,e){return t.time-e.time}));for(var i=this.valType,r=n.length,o=n[r-1],a=this.discrete,s=Ni(i),l=Ri(i),u=0;u=0&&!(l[n].percent<=e);n--);n=d(n,u-2)}else{for(n=p;ne);n++);n=d(n-1,u-2)}r=l[n+1],i=l[n]}if(i&&r){this._lastFr=n,this._lastFrP=e;var f=r.percent-i.percent,g=0===f?1:d((e-i.percent)/f,1);r.easingFunc&&(g=r.easingFunc(g));var y=o?this._additiveValue:c?Ei:t[h];if(!Ni(s)&&!c||y||(y=this._additiveValue=[]),this.discrete)t[h]=g<1?i.rawValue:r.rawValue;else if(Ni(s))1===s?Ci(y,i[a],r[a],g):function(t,e,n,i){for(var r=e.length,o=r&&e[0].length,a=0;a0&&s.addKeyframe(0,Pi(l),i),this._trackKeys.push(a)}s.addKeyframe(t,Pi(e[a]),i)}return this._maxTime=Math.max(this._maxTime,t),this},t.prototype.pause=function(){this._clip.pause(),this._paused=!0},t.prototype.resume=function(){this._clip.resume(),this._paused=!1},t.prototype.isPaused=function(){return!!this._paused},t.prototype.duration=function(t){return this._maxTime=t,this._force=!0,this},t.prototype._doneCallback=function(){this._setTracksFinished(),this._clip=null;var t=this._doneCbs;if(t)for(var e=t.length,n=0;n0)){this._started=1;for(var e=this,n=[],i=this._maxTime||0,r=0;r1){var a=o.pop();r.addKeyframe(a.time,t[i]),r.prepare(this._maxTime,r.getAdditiveTrack())}}}},t}();function Bi(){return(new Date).getTime()}var Fi,Gi,Wi=function(t){function e(e){var n=t.call(this)||this;return n._running=!1,n._time=0,n._pausedTime=0,n._pauseStart=0,n._paused=!1,e=e||{},n.stage=e.stage||{},n}return n(e,t),e.prototype.addClip=function(t){t.animation&&this.removeClip(t),this._head?(this._tail.next=t,t.prev=this._tail,t.next=null,this._tail=t):this._head=this._tail=t,t.animation=this},e.prototype.addAnimator=function(t){t.animation=this;var e=t.getClip();e&&this.addClip(e)},e.prototype.removeClip=function(t){if(t.animation){var e=t.prev,n=t.next;e?e.next=n:this._head=n,n?n.prev=e:this._tail=e,t.next=t.prev=t.animation=null}},e.prototype.removeAnimator=function(t){var e=t.getClip();e&&this.removeClip(e),t.animation=null},e.prototype.update=function(t){for(var e=Bi()-this._pausedTime,n=e-this._time,i=this._head;i;){var r=i.next;i.step(e,n)?(i.ondestroy(),this.removeClip(i),i=r):i=r}this._time=e,t||(this.trigger("frame",n),this.stage.update&&this.stage.update())},e.prototype._startLoop=function(){var t=this;this._running=!0,on((function e(){t._running&&(on(e),!t._paused&&t.update())}))},e.prototype.start=function(){this._running||(this._time=Bi(),this._pausedTime=0,this._startLoop())},e.prototype.stop=function(){this._running=!1},e.prototype.pause=function(){this._paused||(this._pauseStart=Bi(),this._paused=!0)},e.prototype.resume=function(){this._paused&&(this._pausedTime+=Bi()-this._pauseStart,this._paused=!1)},e.prototype.clear=function(){for(var t=this._head;t;){var e=t.next;t.prev=t.next=t.animation=null,t=e}this._head=this._tail=null},e.prototype.isFinished=function(){return null==this._head},e.prototype.animate=function(t,e){e=e||{},this.start();var n=new Vi(t,e.loop);return this.addAnimator(n),n},e}(jt),Hi=r.domSupported,Yi=(Gi={pointerdown:1,pointerup:1,pointermove:1,pointerout:1},{mouse:Fi=["click","dblclick","mousewheel","wheel","mouseout","mouseup","mousedown","mousemove","contextmenu"],touch:["touchstart","touchend","touchmove"],pointer:z(Fi,(function(t){var e=t.replace("mouse","pointer");return Gi.hasOwnProperty(e)?e:t}))}),Xi=["mousemove","mouseup"],Ui=["pointermove","pointerup"],Zi=!1;function ji(t){var e=t.pointerType;return"pen"===e||"touch"===e}function qi(t){t&&(t.zrByTouch=!0)}function Ki(t,e){for(var n=e,i=!1;n&&9!==n.nodeType&&!(i=n.domBelongToZr||n!==e&&n===t.painterRoot);)n=n.parentNode;return i}var $i=function(t,e){this.stopPropagation=bt,this.stopImmediatePropagation=bt,this.preventDefault=bt,this.type=e.type,this.target=this.currentTarget=t.dom,this.pointerType=e.pointerType,this.clientX=e.clientX,this.clientY=e.clientY},Ji={mousedown:function(t){t=ce(this.dom,t),this.__mayPointerCapture=[t.zrX,t.zrY],this.trigger("mousedown",t)},mousemove:function(t){t=ce(this.dom,t);var e=this.__mayPointerCapture;!e||t.zrX===e[0]&&t.zrY===e[1]||this.__togglePointerCapture(!0),this.trigger("mousemove",t)},mouseup:function(t){t=ce(this.dom,t),this.__togglePointerCapture(!1),this.trigger("mouseup",t)},mouseout:function(t){Ki(this,(t=ce(this.dom,t)).toElement||t.relatedTarget)||(this.__pointerCapturing&&(t.zrEventControl="no_globalout"),this.trigger("mouseout",t))},wheel:function(t){Zi=!0,t=ce(this.dom,t),this.trigger("mousewheel",t)},mousewheel:function(t){Zi||(t=ce(this.dom,t),this.trigger("mousewheel",t))},touchstart:function(t){qi(t=ce(this.dom,t)),this.__lastTouchMoment=new Date,this.handler.processGesture(t,"start"),Ji.mousemove.call(this,t),Ji.mousedown.call(this,t)},touchmove:function(t){qi(t=ce(this.dom,t)),this.handler.processGesture(t,"change"),Ji.mousemove.call(this,t)},touchend:function(t){qi(t=ce(this.dom,t)),this.handler.processGesture(t,"end"),Ji.mouseup.call(this,t),+new Date-+this.__lastTouchMoment<300&&Ji.click.call(this,t)},pointerdown:function(t){Ji.mousedown.call(this,t)},pointermove:function(t){ji(t)||Ji.mousemove.call(this,t)},pointerup:function(t){Ji.mouseup.call(this,t)},pointerout:function(t){ji(t)||Ji.mouseout.call(this,t)}};E(["click","dblclick","contextmenu"],(function(t){Ji[t]=function(e){e=ce(this.dom,e),this.trigger(t,e)}}));var Qi={pointermove:function(t){ji(t)||Qi.mousemove.call(this,t)},pointerup:function(t){Qi.mouseup.call(this,t)},mousemove:function(t){this.trigger("mousemove",t)},mouseup:function(t){var e=this.__pointerCapturing;this.__togglePointerCapture(!1),this.trigger("mouseup",t),e&&(t.zrEventControl="only_globalout",this.trigger("mouseout",t))}};function tr(t,e){var n=e.domHandlers;r.pointerEventsSupported?E(Yi.pointer,(function(i){nr(e,i,(function(e){n[i].call(t,e)}))})):(r.touchEventsSupported&&E(Yi.touch,(function(i){nr(e,i,(function(r){n[i].call(t,r),function(t){t.touching=!0,null!=t.touchTimer&&(clearTimeout(t.touchTimer),t.touchTimer=null),t.touchTimer=setTimeout((function(){t.touching=!1,t.touchTimer=null}),700)}(e)}))})),E(Yi.mouse,(function(i){nr(e,i,(function(r){r=he(r),e.touching||n[i].call(t,r)}))})))}function er(t,e){function n(n){nr(e,n,(function(i){i=he(i),Ki(t,i.target)||(i=function(t,e){return ce(t.dom,new $i(t,e),!0)}(t,i),e.domHandlers[n].call(t,i))}),{capture:!0})}r.pointerEventsSupported?E(Ui,n):r.touchEventsSupported||E(Xi,n)}function nr(t,e,n,i){t.mounted[e]=n,t.listenerOpts[e]=i,pe(t.domTarget,e,n,i)}function ir(t){var e,n,i,r,o=t.mounted;for(var a in o)o.hasOwnProperty(a)&&(e=t.domTarget,n=a,i=o[a],r=t.listenerOpts[a],e.removeEventListener(n,i,r));t.mounted={}}var rr=function(t,e){this.mounted={},this.listenerOpts={},this.touching=!1,this.domTarget=t,this.domHandlers=e},or=function(t){function e(e,n){var i=t.call(this)||this;return i.__pointerCapturing=!1,i.dom=e,i.painterRoot=n,i._localHandlerScope=new rr(e,Ji),Hi&&(i._globalHandlerScope=new rr(document,Qi)),tr(i,i._localHandlerScope),i}return n(e,t),e.prototype.dispose=function(){ir(this._localHandlerScope),Hi&&ir(this._globalHandlerScope)},e.prototype.setCursor=function(t){this.dom.style&&(this.dom.style.cursor=t||"default")},e.prototype.__togglePointerCapture=function(t){if(this.__mayPointerCapture=null,Hi&&+this.__pointerCapturing^+t){this.__pointerCapturing=t;var e=this._globalHandlerScope;t?er(this,e):ir(e)}},e}(jt),ar=1;r.hasGlobalWindow&&(ar=Math.max(window.devicePixelRatio||window.screen&&window.screen.deviceXDPI/window.screen.logicalXDPI||1,1));var sr=ar,lr="#333",ur="#ccc",hr=xe,cr=5e-5;function pr(t){return t>cr||t<-5e-5}var dr=[],fr=[],gr=[1,0,0,1,0,0],yr=Math.abs,vr=function(){function t(){}return t.prototype.getLocalTransform=function(e){return t.getLocalTransform(this,e)},t.prototype.setPosition=function(t){this.x=t[0],this.y=t[1]},t.prototype.setScale=function(t){this.scaleX=t[0],this.scaleY=t[1]},t.prototype.setSkew=function(t){this.skewX=t[0],this.skewY=t[1]},t.prototype.setOrigin=function(t){this.originX=t[0],this.originY=t[1]},t.prototype.needLocalTransform=function(){return pr(this.rotation)||pr(this.x)||pr(this.y)||pr(this.scaleX-1)||pr(this.scaleY-1)||pr(this.skewX)||pr(this.skewY)},t.prototype.updateTransform=function(){var t=this.parent&&this.parent.transform,e=this.needLocalTransform(),n=this.transform;e||t?(n=n||[1,0,0,1,0,0],e?this.getLocalTransform(n):hr(n),t&&(e?be(n,t,n):_e(n,t)),this.transform=n,this._resolveGlobalScaleRatio(n)):n&&(hr(n),this.invTransform=null)},t.prototype._resolveGlobalScaleRatio=function(t){var e=this.globalScaleRatio;if(null!=e&&1!==e){this.getGlobalScale(dr);var n=dr[0]<0?-1:1,i=dr[1]<0?-1:1,r=((dr[0]-n)*e+n)/dr[0]||0,o=((dr[1]-i)*e+i)/dr[1]||0;t[0]*=r,t[1]*=r,t[2]*=o,t[3]*=o}this.invTransform=this.invTransform||[1,0,0,1,0,0],Ie(this.invTransform,t)},t.prototype.getComputedTransform=function(){for(var t=this,e=[];t;)e.push(t),t=t.parent;for(;t=e.pop();)t.updateTransform();return this.transform},t.prototype.setLocalTransform=function(t){if(t){var e=t[0]*t[0]+t[1]*t[1],n=t[2]*t[2]+t[3]*t[3],i=Math.atan2(t[1],t[0]),r=Math.PI/2+i-Math.atan2(t[3],t[2]);n=Math.sqrt(n)*Math.cos(r),e=Math.sqrt(e),this.skewX=r,this.skewY=0,this.rotation=-i,this.x=+t[4],this.y=+t[5],this.scaleX=e,this.scaleY=n,this.originX=0,this.originY=0}},t.prototype.decomposeTransform=function(){if(this.transform){var t=this.parent,e=this.transform;t&&t.transform&&(t.invTransform=t.invTransform||[1,0,0,1,0,0],be(fr,t.invTransform,e),e=fr);var n=this.originX,i=this.originY;(n||i)&&(gr[4]=n,gr[5]=i,be(fr,e,gr),fr[4]-=n,fr[5]-=i,e=fr),this.setLocalTransform(e)}},t.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)},t.prototype.transformCoordToLocal=function(t,e){var n=[t,e],i=this.invTransform;return i&&Wt(n,n,i),n},t.prototype.transformCoordToGlobal=function(t,e){var n=[t,e],i=this.transform;return i&&Wt(n,n,i),n},t.prototype.getLineScale=function(){var t=this.transform;return t&&yr(t[0]-1)>1e-10&&yr(t[3]-1)>1e-10?Math.sqrt(yr(t[0]*t[3]-t[2]*t[1])):1},t.prototype.copyTransform=function(t){xr(this,t)},t.getLocalTransform=function(t,e){e=e||[];var n=t.originX||0,i=t.originY||0,r=t.scaleX,o=t.scaleY,a=t.anchorX,s=t.anchorY,l=t.rotation||0,u=t.x,h=t.y,c=t.skewX?Math.tan(t.skewX):0,p=t.skewY?Math.tan(-t.skewY):0;if(n||i||a||s){var d=n+a,f=i+s;e[4]=-d*r-c*f*o,e[5]=-f*o-p*d*r}else e[4]=e[5]=0;return e[0]=r,e[3]=o,e[1]=p*r,e[2]=c*o,l&&Se(e,e,l),e[4]+=n+u,e[5]+=i+h,e},t.initDefaultProps=function(){var e=t.prototype;e.scaleX=e.scaleY=e.globalScaleRatio=1,e.x=e.y=e.originX=e.originY=e.skewX=e.skewY=e.rotation=e.anchorX=e.anchorY=0}(),t}(),mr=["x","y","originX","originY","anchorX","anchorY","rotation","scaleX","scaleY","skewX","skewY"];function xr(t,e){for(var n=0;n=0?parseFloat(t)/100*e:parseFloat(t):t}function Dr(t,e,n){var i=e.position||"inside",r=null!=e.distance?e.distance:5,o=n.height,a=n.width,s=o/2,l=n.x,u=n.y,h="left",c="top";if(i instanceof Array)l+=Cr(i[0],n.width),u+=Cr(i[1],n.height),h=null,c=null;else switch(i){case"left":l-=r,u+=s,h="right",c="middle";break;case"right":l+=r+a,u+=s,c="middle";break;case"top":l+=a/2,u-=r,h="center",c="bottom";break;case"bottom":l+=a/2,u+=o+r,h="center";break;case"inside":l+=a/2,u+=s,h="center",c="middle";break;case"insideLeft":l+=r,u+=s,c="middle";break;case"insideRight":l+=a-r,u+=s,h="right",c="middle";break;case"insideTop":l+=a/2,u+=r,h="center";break;case"insideBottom":l+=a/2,u+=o-r,h="center",c="bottom";break;case"insideTopLeft":l+=r,u+=r;break;case"insideTopRight":l+=a-r,u+=r,h="right";break;case"insideBottomLeft":l+=r,u+=o-r,c="bottom";break;case"insideBottomRight":l+=a-r,u+=o-r,h="right",c="bottom"}return(t=t||{}).x=l,t.y=u,t.align=h,t.verticalAlign=c,t}var Ar="__zr_normal__",kr=mr.concat(["ignore"]),Lr=V(mr,(function(t,e){return t[e]=!0,t}),{ignore:!1}),Pr={},Or=new ze(0,0,0,0),Rr=function(){function t(t){this.id=M(),this.animators=[],this.currentStates=[],this.states={},this._init(t)}return t.prototype._init=function(t){this.attr(t)},t.prototype.drift=function(t,e,n){switch(this.draggable){case"horizontal":e=0;break;case"vertical":t=0}var i=this.transform;i||(i=this.transform=[1,0,0,1,0,0]),i[4]+=t,i[5]+=e,this.decomposeTransform(),this.markRedraw()},t.prototype.beforeUpdate=function(){},t.prototype.afterUpdate=function(){},t.prototype.update=function(){this.updateTransform(),this.__dirty&&this.updateInnerText()},t.prototype.updateInnerText=function(t){var e=this._textContent;if(e&&(!e.ignore||t)){this.textConfig||(this.textConfig={});var n=this.textConfig,i=n.local,r=e.innerTransformable,o=void 0,a=void 0,s=!1;r.parent=i?this:null;var l=!1;if(r.copyTransform(e),null!=n.position){var u=Or;n.layoutRect?u.copy(n.layoutRect):u.copy(this.getBoundingRect()),i||u.applyTransform(this.transform),this.calculateTextPosition?this.calculateTextPosition(Pr,n,u):Dr(Pr,n,u),r.x=Pr.x,r.y=Pr.y,o=Pr.align,a=Pr.verticalAlign;var h=n.origin;if(h&&null!=n.rotation){var c=void 0,p=void 0;"center"===h?(c=.5*u.width,p=.5*u.height):(c=Cr(h[0],u.width),p=Cr(h[1],u.height)),l=!0,r.originX=-r.x+c+(i?0:u.x),r.originY=-r.y+p+(i?0:u.y)}}null!=n.rotation&&(r.rotation=n.rotation);var d=n.offset;d&&(r.x+=d[0],r.y+=d[1],l||(r.originX=-d[0],r.originY=-d[1]));var f=null==n.inside?"string"==typeof n.position&&n.position.indexOf("inside")>=0:n.inside,g=this._innerTextDefaultStyle||(this._innerTextDefaultStyle={}),y=void 0,v=void 0,m=void 0;f&&this.canBeInsideText()?(y=n.insideFill,v=n.insideStroke,null!=y&&"auto"!==y||(y=this.getInsideTextFill()),null!=v&&"auto"!==v||(v=this.getInsideTextStroke(y),m=!0)):(y=n.outsideFill,v=n.outsideStroke,null!=y&&"auto"!==y||(y=this.getOutsideFill()),null!=v&&"auto"!==v||(v=this.getOutsideStroke(y),m=!0)),(y=y||"#000")===g.fill&&v===g.stroke&&m===g.autoStroke&&o===g.align&&a===g.verticalAlign||(s=!0,g.fill=y,g.stroke=v,g.autoStroke=m,g.align=o,g.verticalAlign=a,e.setDefaultTextStyle(g)),e.__dirty|=1,s&&e.dirtyStyle(!0)}},t.prototype.canBeInsideText=function(){return!0},t.prototype.getInsideTextFill=function(){return"#fff"},t.prototype.getInsideTextStroke=function(t){return"#000"},t.prototype.getOutsideFill=function(){return this.__zr&&this.__zr.isDarkMode()?ur:lr},t.prototype.getOutsideStroke=function(t){var e=this.__zr&&this.__zr.getBackgroundColor(),n="string"==typeof e&&qn(e);n||(n=[255,255,255,1]);for(var i=n[3],r=this.__zr.isDarkMode(),o=0;o<3;o++)n[o]=n[o]*i+(r?0:255)*(1-i);return n[3]=1,ri(n,"rgba")},t.prototype.traverse=function(t,e){},t.prototype.attrKV=function(t,e){"textConfig"===t?this.setTextConfig(e):"textContent"===t?this.setTextContent(e):"clipPath"===t?this.setClipPath(e):"extra"===t?(this.extra=this.extra||{},A(this.extra,e)):this[t]=e},t.prototype.hide=function(){this.ignore=!0,this.markRedraw()},t.prototype.show=function(){this.ignore=!1,this.markRedraw()},t.prototype.attr=function(t,e){if("string"==typeof t)this.attrKV(t,e);else if(q(t))for(var n=G(t),i=0;i0},t.prototype.getState=function(t){return this.states[t]},t.prototype.ensureState=function(t){var e=this.states;return e[t]||(e[t]={}),e[t]},t.prototype.clearStates=function(t){this.useState(Ar,!1,t)},t.prototype.useState=function(t,e,n,i){var r=t===Ar;if(this.hasState()||!r){var o=this.currentStates,a=this.stateTransition;if(!(P(o,t)>=0)||!e&&1!==o.length){var s;if(this.stateProxy&&!r&&(s=this.stateProxy(t)),s||(s=this.states&&this.states[t]),s||r){r||this.saveCurrentToNormalState(s);var l=!!(s&&s.hoverLayer||i);l&&this._toggleHoverLayerFlag(!0),this._applyStateObj(t,s,this._normalState,e,!n&&!this.__inHover&&a&&a.duration>0,a);var u=this._textContent,h=this._textGuide;return u&&u.useState(t,e,n,l),h&&h.useState(t,e,n,l),r?(this.currentStates=[],this._normalState={}):e?this.currentStates.push(t):this.currentStates=[t],this._updateAnimationTargets(),this.markRedraw(),!l&&this.__inHover&&(this._toggleHoverLayerFlag(!1),this.__dirty&=-2),s}I("State "+t+" not exists.")}}},t.prototype.useStates=function(t,e,n){if(t.length){var i=[],r=this.currentStates,o=t.length,a=o===r.length;if(a)for(var s=0;s0,d);var f=this._textContent,g=this._textGuide;f&&f.useStates(t,e,c),g&&g.useStates(t,e,c),this._updateAnimationTargets(),this.currentStates=t.slice(),this.markRedraw(),!c&&this.__inHover&&(this._toggleHoverLayerFlag(!1),this.__dirty&=-2)}else this.clearStates()},t.prototype.isSilent=function(){for(var t=this.silent,e=this.parent;!t&&e;){if(e.silent){t=!0;break}e=e.parent}return t},t.prototype._updateAnimationTargets=function(){for(var t=0;t=0){var n=this.currentStates.slice();n.splice(e,1),this.useStates(n)}},t.prototype.replaceState=function(t,e,n){var i=this.currentStates.slice(),r=P(i,t),o=P(i,e)>=0;r>=0?o?i.splice(r,1):i[r]=e:n&&!o&&i.push(e),this.useStates(i)},t.prototype.toggleState=function(t,e){e?this.useState(t,!0):this.removeState(t)},t.prototype._mergeStates=function(t){for(var e,n={},i=0;i=0&&e.splice(n,1)})),this.animators.push(t),n&&n.animation.addAnimator(t),n&&n.wakeUp()},t.prototype.updateDuringAnimation=function(t){this.markRedraw()},t.prototype.stopAnimation=function(t,e){for(var n=this.animators,i=n.length,r=[],o=0;o0&&n.during&&o[0].during((function(t,e){n.during(e)}));for(var p=0;p0||r.force&&!a.length){var w,S=void 0,M=void 0,I=void 0;if(s){M={},p&&(S={});for(_=0;_=0&&(n.splice(i,0,t),this._doAdd(t))}return this},e.prototype.replace=function(t,e){var n=P(this._children,t);return n>=0&&this.replaceAt(e,n),this},e.prototype.replaceAt=function(t,e){var n=this._children,i=n[e];if(t&&t!==this&&t.parent!==this&&t!==i){n[e]=t,i.parent=null;var r=this.__zr;r&&i.removeSelfFromZr(r),this._doAdd(t)}return this},e.prototype._doAdd=function(t){t.parent&&t.parent.remove(t),t.parent=this;var e=this.__zr;e&&e!==t.__zr&&t.addSelfToZr(e),e&&e.refresh()},e.prototype.remove=function(t){var e=this.__zr,n=this._children,i=P(n,t);return i<0||(n.splice(i,1),t.parent=null,e&&t.removeSelfFromZr(e),e&&e.refresh()),this},e.prototype.removeAll=function(){for(var t=this._children,e=this.__zr,n=0;n0&&(this._stillFrameAccum++,this._stillFrameAccum>this._sleepAfterStill&&this.animation.stop())},t.prototype.setSleepAfterStill=function(t){this._sleepAfterStill=t},t.prototype.wakeUp=function(){this._disposed||(this.animation.start(),this._stillFrameAccum=0)},t.prototype.refreshHover=function(){this._needsRefreshHover=!0},t.prototype.refreshHoverImmediately=function(){this._disposed||(this._needsRefreshHover=!1,this.painter.refreshHover&&"canvas"===this.painter.getType()&&this.painter.refreshHover())},t.prototype.resize=function(t){this._disposed||(t=t||{},this.painter.resize(t.width,t.height),this.handler.resize())},t.prototype.clearAnimation=function(){this._disposed||this.animation.clear()},t.prototype.getWidth=function(){if(!this._disposed)return this.painter.getWidth()},t.prototype.getHeight=function(){if(!this._disposed)return this.painter.getHeight()},t.prototype.setCursorStyle=function(t){this._disposed||this.handler.setCursorStyle(t)},t.prototype.findHover=function(t,e){if(!this._disposed)return this.handler.findHover(t,e)},t.prototype.on=function(t,e,n){return this._disposed||this.handler.on(t,e,n),this},t.prototype.off=function(t,e){this._disposed||this.handler.off(t,e)},t.prototype.trigger=function(t,e){this._disposed||this.handler.trigger(t,e)},t.prototype.clear=function(){if(!this._disposed){for(var t=this.storage.getRoots(),e=0;e0){if(t<=r)return a;if(t>=o)return s}else{if(t>=r)return a;if(t<=o)return s}else{if(t===r)return a;if(t===o)return s}return(t-r)/l*u+a}function $r(t,e){switch(t){case"center":case"middle":t="50%";break;case"left":case"top":t="0%";break;case"right":case"bottom":t="100%"}return U(t)?(n=t,n.replace(/^\s+|\s+$/g,"")).match(/%$/)?parseFloat(t)/100*e:parseFloat(t):null==t?NaN:+t;var n}function Jr(t,e,n){return null==e&&(e=10),e=Math.min(Math.max(0,e),20),t=(+t).toFixed(e),n?t:+t}function Qr(t){return t.sort((function(t,e){return t-e})),t}function to(t){if(t=+t,isNaN(t))return 0;if(t>1e-14)for(var e=1,n=0;n<15;n++,e*=10)if(Math.round(t*e)/e===t)return n;return eo(t)}function eo(t){var e=t.toString().toLowerCase(),n=e.indexOf("e"),i=n>0?+e.slice(n+1):0,r=n>0?n:e.length,o=e.indexOf("."),a=o<0?0:r-1-o;return Math.max(0,a-i)}function no(t,e){var n=Math.log,i=Math.LN10,r=Math.floor(n(t[1]-t[0])/i),o=Math.round(n(Math.abs(e[1]-e[0]))/i),a=Math.min(Math.max(-r+o,0),20);return isFinite(a)?a:20}function io(t,e){var n=V(t,(function(t,e){return t+(isNaN(e)?0:e)}),0);if(0===n)return[];for(var i=Math.pow(10,e),r=z(t,(function(t){return(isNaN(t)?0:t)/n*i*100})),o=100*i,a=z(r,(function(t){return Math.floor(t)})),s=V(a,(function(t,e){return t+e}),0),l=z(r,(function(t,e){return t-a[e]}));su&&(u=l[c],h=c);++a[h],l[h]=0,++s}return z(a,(function(t){return t/i}))}function ro(t,e){var n=Math.max(to(t),to(e)),i=t+e;return n>20?i:Jr(i,n)}var oo=9007199254740991;function ao(t){var e=2*Math.PI;return(t%e+e)%e}function so(t){return t>-1e-4&&t=10&&e++,e}function po(t,e){var n=co(t),i=Math.pow(10,n),r=t/i;return t=(e?r<1.5?1:r<2.5?2:r<4?3:r<7?5:10:r<1?1:r<2?2:r<3?3:r<5?5:10)*i,n>=-20?+t.toFixed(n<0?-n:0):t}function fo(t,e){var n=(t.length-1)*e+1,i=Math.floor(n),r=+t[i-1],o=n-i;return o?r+o*(t[i]-r):r}function go(t){t.sort((function(t,e){return s(t,e,0)?-1:1}));for(var e=-1/0,n=1,i=0;i=0||r&&P(r,s)<0)){var l=n.getShallow(s,e);null!=l&&(o[t[a][0]]=l)}}return o}}var ra=ia([["fill","color"],["shadowBlur"],["shadowOffsetX"],["shadowOffsetY"],["opacity"],["shadowColor"]]),oa=function(){function t(){}return t.prototype.getAreaStyle=function(t,e){return ra(this,t,e)},t}(),aa=new En(50);function sa(t){if("string"==typeof t){var e=aa.get(t);return e&&e.image}return t}function la(t,e,n,i,r){if(t){if("string"==typeof t){if(e&&e.__zrImageSrc===t||!n)return e;var o=aa.get(t),a={hostEl:n,cb:i,cbPayload:r};return o?!ha(e=o.image)&&o.pending.push(a):((e=h.loadImage(t,ua,ua)).__zrImageSrc=t,aa.put(t,e.__cachedImgObj={image:e,pending:[a]})),e}return t}return e}function ua(){var t=this.__cachedImgObj;this.onload=this.onerror=this.__cachedImgObj=null;for(var e=0;e=a;l++)s-=a;var u=br(n,e);return u>s&&(n="",u=0),s=t-u,r.ellipsis=n,r.ellipsisWidth=u,r.contentWidth=s,r.containerWidth=t,r}function fa(t,e){var n=e.containerWidth,i=e.font,r=e.contentWidth;if(!n)return"";var o=br(t,i);if(o<=n)return t;for(var a=0;;a++){if(o<=r||a>=e.maxIterations){t+=e.ellipsis;break}var s=0===a?ga(t,r,e.ascCharWidth,e.cnCharWidth):o>0?Math.floor(t.length*r/o):0;o=br(t=t.substr(0,s),i)}return""===t&&(t=e.placeholder),t}function ga(t,e,n,i){for(var r=0,o=0,a=t.length;o0&&f+i.accumWidth>i.width&&(o=e.split("\n"),c=!0),i.accumWidth=f}else{var g=wa(e,h,i.width,i.breakAll,i.accumWidth);i.accumWidth=g.accumWidth+d,a=g.linesWidths,o=g.lines}}else o=e.split("\n");for(var y=0;y=32&&e<=591||e>=880&&e<=4351||e>=4608&&e<=5119||e>=7680&&e<=8303}(t)||!!_a[t]}function wa(t,e,n,i,r){for(var o=[],a=[],s="",l="",u=0,h=0,c=0;cn:r+h+d>n)?h?(s||l)&&(f?(s||(s=l,l="",h=u=0),o.push(s),a.push(h-u),l+=p,s="",h=u+=d):(l&&(s+=l,l="",u=0),o.push(s),a.push(h),s=p,h=d)):f?(o.push(l),a.push(u),l=p,u=d):(o.push(p),a.push(d)):(h+=d,f?(l+=p,u+=d):(l&&(s+=l,l="",u=0),s+=p))}else l&&(s+=l,h+=u),o.push(s),a.push(h),s="",l="",u=0,h=0}return o.length||s||(s=t,l="",u=0),l&&(s+=l),s&&(o.push(s),a.push(h)),1===o.length&&(h+=r),{accumWidth:h,lines:o,linesWidths:a}}var Sa="__zr_style_"+Math.round(10*Math.random()),Ma={shadowBlur:0,shadowOffsetX:0,shadowOffsetY:0,shadowColor:"#000",opacity:1,blend:"source-over"},Ia={style:{shadowBlur:!0,shadowOffsetX:!0,shadowOffsetY:!0,shadowColor:!0,opacity:!0}};Ma[Sa]=!0;var Ta=["z","z2","invisible"],Ca=["invisible"],Da=function(t){function e(e){return t.call(this,e)||this}var i;return n(e,t),e.prototype._init=function(e){for(var n=G(e),i=0;i1e-4)return s[0]=t-n,s[1]=e-i,l[0]=t+n,void(l[1]=e+i);if(Ea[0]=Ra(r)*n+t,Ea[1]=Oa(r)*i+e,za[0]=Ra(o)*n+t,za[1]=Oa(o)*i+e,u(s,Ea,za),h(l,Ea,za),(r%=Na)<0&&(r+=Na),(o%=Na)<0&&(o+=Na),r>o&&!a?o+=Na:rr&&(Va[0]=Ra(d)*n+t,Va[1]=Oa(d)*i+e,u(s,Va,s),h(l,Va,l))}var Ua={M:1,L:2,C:3,Q:4,A:5,Z:6,R:7},Za=[],ja=[],qa=[],Ka=[],$a=[],Ja=[],Qa=Math.min,ts=Math.max,es=Math.cos,ns=Math.sin,is=Math.abs,rs=Math.PI,os=2*rs,as="undefined"!=typeof Float32Array,ss=[];function ls(t){return Math.round(t/rs*1e8)/1e8%2*rs}function us(t,e){var n=ls(t[0]);n<0&&(n+=os);var i=n-t[0],r=t[1];r+=i,!e&&r-n>=os?r=n+os:e&&n-r>=os?r=n-os:!e&&n>r?r=n+(os-ls(n-r)):e&&n0&&(this._ux=is(n/sr/t)||0,this._uy=is(n/sr/e)||0)},t.prototype.setDPR=function(t){this.dpr=t},t.prototype.setContext=function(t){this._ctx=t},t.prototype.getContext=function(){return this._ctx},t.prototype.beginPath=function(){return this._ctx&&this._ctx.beginPath(),this.reset(),this},t.prototype.reset=function(){this._saveData&&(this._len=0),this._pathSegLen&&(this._pathSegLen=null,this._pathLen=0),this._version++},t.prototype.moveTo=function(t,e){return this._drawPendingPt(),this.addData(Ua.M,t,e),this._ctx&&this._ctx.moveTo(t,e),this._x0=t,this._y0=e,this._xi=t,this._yi=e,this},t.prototype.lineTo=function(t,e){var n=is(t-this._xi),i=is(e-this._yi),r=n>this._ux||i>this._uy;if(this.addData(Ua.L,t,e),this._ctx&&r&&this._ctx.lineTo(t,e),r)this._xi=t,this._yi=e,this._pendingPtDist=0;else{var o=n*n+i*i;o>this._pendingPtDist&&(this._pendingPtX=t,this._pendingPtY=e,this._pendingPtDist=o)}return this},t.prototype.bezierCurveTo=function(t,e,n,i,r,o){return this._drawPendingPt(),this.addData(Ua.C,t,e,n,i,r,o),this._ctx&&this._ctx.bezierCurveTo(t,e,n,i,r,o),this._xi=r,this._yi=o,this},t.prototype.quadraticCurveTo=function(t,e,n,i){return this._drawPendingPt(),this.addData(Ua.Q,t,e,n,i),this._ctx&&this._ctx.quadraticCurveTo(t,e,n,i),this._xi=n,this._yi=i,this},t.prototype.arc=function(t,e,n,i,r,o){this._drawPendingPt(),ss[0]=i,ss[1]=r,us(ss,o),i=ss[0];var a=(r=ss[1])-i;return this.addData(Ua.A,t,e,n,n,i,a,0,o?0:1),this._ctx&&this._ctx.arc(t,e,n,i,r,o),this._xi=es(r)*n+t,this._yi=ns(r)*n+e,this},t.prototype.arcTo=function(t,e,n,i,r){return this._drawPendingPt(),this._ctx&&this._ctx.arcTo(t,e,n,i,r),this},t.prototype.rect=function(t,e,n,i){return this._drawPendingPt(),this._ctx&&this._ctx.rect(t,e,n,i),this.addData(Ua.R,t,e,n,i),this},t.prototype.closePath=function(){this._drawPendingPt(),this.addData(Ua.Z);var t=this._ctx,e=this._x0,n=this._y0;return t&&t.closePath(),this._xi=e,this._yi=n,this},t.prototype.fill=function(t){t&&t.fill(),this.toStatic()},t.prototype.stroke=function(t){t&&t.stroke(),this.toStatic()},t.prototype.len=function(){return this._len},t.prototype.setData=function(t){var e=t.length;this.data&&this.data.length===e||!as||(this.data=new Float32Array(e));for(var n=0;nu.length&&(this._expandData(),u=this.data);for(var h=0;h0&&(this._ctx&&this._ctx.lineTo(this._pendingPtX,this._pendingPtY),this._pendingPtDist=0)},t.prototype._expandData=function(){if(!(this.data instanceof Array)){for(var t=[],e=0;e11&&(this.data=new Float32Array(t)))}},t.prototype.getBoundingRect=function(){qa[0]=qa[1]=$a[0]=$a[1]=Number.MAX_VALUE,Ka[0]=Ka[1]=Ja[0]=Ja[1]=-Number.MAX_VALUE;var t,e=this.data,n=0,i=0,r=0,o=0;for(t=0;tn||is(y)>i||c===e-1)&&(f=Math.sqrt(A*A+y*y),r=g,o=x);break;case Ua.C:var v=t[c++],m=t[c++],x=(g=t[c++],t[c++]),_=t[c++],b=t[c++];f=Mn(r,o,v,m,g,x,_,b,10),r=_,o=b;break;case Ua.Q:f=kn(r,o,v=t[c++],m=t[c++],g=t[c++],x=t[c++],10),r=g,o=x;break;case Ua.A:var w=t[c++],S=t[c++],M=t[c++],I=t[c++],T=t[c++],C=t[c++],D=C+T;c+=1,d&&(a=es(T)*M+w,s=ns(T)*I+S),f=ts(M,I)*Qa(os,Math.abs(C)),r=es(D)*M+w,o=ns(D)*I+S;break;case Ua.R:a=r=t[c++],s=o=t[c++],f=2*t[c++]+2*t[c++];break;case Ua.Z:var A=a-r;y=s-o;f=Math.sqrt(A*A+y*y),r=a,o=s}f>=0&&(l[h++]=f,u+=f)}return this._pathLen=u,u},t.prototype.rebuildPath=function(t,e){var n,i,r,o,a,s,l,u,h,c,p=this.data,d=this._ux,f=this._uy,g=this._len,y=e<1,v=0,m=0,x=0;if(!y||(this._pathSegLen||this._calculateLength(),l=this._pathSegLen,u=e*this._pathLen))t:for(var _=0;_0&&(t.lineTo(h,c),x=0),b){case Ua.M:n=r=p[_++],i=o=p[_++],t.moveTo(r,o);break;case Ua.L:a=p[_++],s=p[_++];var S=is(a-r),M=is(s-o);if(S>d||M>f){if(y){if(v+(j=l[m++])>u){var I=(u-v)/j;t.lineTo(r*(1-I)+a*I,o*(1-I)+s*I);break t}v+=j}t.lineTo(a,s),r=a,o=s,x=0}else{var T=S*S+M*M;T>x&&(h=a,c=s,x=T)}break;case Ua.C:var C=p[_++],D=p[_++],A=p[_++],k=p[_++],L=p[_++],P=p[_++];if(y){if(v+(j=l[m++])>u){wn(r,C,A,L,I=(u-v)/j,Za),wn(o,D,k,P,I,ja),t.bezierCurveTo(Za[1],ja[1],Za[2],ja[2],Za[3],ja[3]);break t}v+=j}t.bezierCurveTo(C,D,A,k,L,P),r=L,o=P;break;case Ua.Q:C=p[_++],D=p[_++],A=p[_++],k=p[_++];if(y){if(v+(j=l[m++])>u){Dn(r,C,A,I=(u-v)/j,Za),Dn(o,D,k,I,ja),t.quadraticCurveTo(Za[1],ja[1],Za[2],ja[2]);break t}v+=j}t.quadraticCurveTo(C,D,A,k),r=A,o=k;break;case Ua.A:var O=p[_++],R=p[_++],N=p[_++],E=p[_++],z=p[_++],V=p[_++],B=p[_++],F=!p[_++],G=N>E?N:E,W=is(N-E)>.001,H=z+V,Y=!1;if(y)v+(j=l[m++])>u&&(H=z+V*(u-v)/j,Y=!0),v+=j;if(W&&t.ellipse?t.ellipse(O,R,N,E,B,z,H,F):t.arc(O,R,G,z,H,F),Y)break t;w&&(n=es(z)*N+O,i=ns(z)*E+R),r=es(H)*N+O,o=ns(H)*E+R;break;case Ua.R:n=r=p[_],i=o=p[_+1],a=p[_++],s=p[_++];var X=p[_++],U=p[_++];if(y){if(v+(j=l[m++])>u){var Z=u-v;t.moveTo(a,s),t.lineTo(a+Qa(Z,X),s),(Z-=X)>0&&t.lineTo(a+X,s+Qa(Z,U)),(Z-=U)>0&&t.lineTo(a+ts(X-Z,0),s+U),(Z-=X)>0&&t.lineTo(a,s+ts(U-Z,0));break t}v+=j}t.rect(a,s,X,U);break;case Ua.Z:if(y){var j;if(v+(j=l[m++])>u){I=(u-v)/j;t.lineTo(r*(1-I)+n*I,o*(1-I)+i*I);break t}v+=j}t.closePath(),r=n,o=i}}},t.prototype.clone=function(){var e=new t,n=this.data;return e.data=n.slice?n.slice():Array.prototype.slice.call(n),e._len=this._len,e},t.CMD=Ua,t.initDefaultProps=function(){var e=t.prototype;e._saveData=!0,e._ux=0,e._uy=0,e._pendingPtDist=0,e._version=0}(),t}();function cs(t,e,n,i,r,o,a){if(0===r)return!1;var s=r,l=0;if(a>e+s&&a>i+s||at+s&&o>n+s||oe+c&&h>i+c&&h>o+c&&h>s+c||ht+c&&u>n+c&&u>r+c&&u>a+c||ue+u&&l>i+u&&l>o+u||lt+u&&s>n+u&&s>r+u||sn||h+ur&&(r+=ys);var p=Math.atan2(l,s);return p<0&&(p+=ys),p>=i&&p<=r||p+ys>=i&&p+ys<=r}function ms(t,e,n,i,r,o){if(o>e&&o>i||or?s:0}var xs=hs.CMD,_s=2*Math.PI;var bs=[-1,-1,-1],ws=[-1,-1];function Ss(t,e,n,i,r,o,a,s,l,u){if(u>e&&u>i&&u>o&&u>s||u1&&(h=void 0,h=ws[0],ws[0]=ws[1],ws[1]=h),f=mn(e,i,o,s,ws[0]),d>1&&(g=mn(e,i,o,s,ws[1]))),2===d?ve&&s>i&&s>o||s=0&&h<=1&&(r[l++]=h);else{var u=a*a-4*o*s;if(yn(u))(h=-a/(2*o))>=0&&h<=1&&(r[l++]=h);else if(u>0){var h,c=ln(u),p=(-a-c)/(2*o);(h=(-a+c)/(2*o))>=0&&h<=1&&(r[l++]=h),p>=0&&p<=1&&(r[l++]=p)}}return l}(e,i,o,s,bs);if(0===l)return 0;var u=Cn(e,i,o);if(u>=0&&u<=1){for(var h=0,c=In(e,i,o,u),p=0;pn||s<-n)return 0;var l=Math.sqrt(n*n-s*s);bs[0]=-l,bs[1]=l;var u=Math.abs(i-r);if(u<1e-4)return 0;if(u>=_s-1e-4){i=0,r=_s;var h=o?1:-1;return a>=bs[0]+t&&a<=bs[1]+t?h:0}if(i>r){var c=i;i=r,r=c}i<0&&(i+=_s,r+=_s);for(var p=0,d=0;d<2;d++){var f=bs[d];if(f+t>a){var g=Math.atan2(s,f);h=o?1:-1;g<0&&(g=_s+g),(g>=i&&g<=r||g+_s>=i&&g+_s<=r)&&(g>Math.PI/2&&g<1.5*Math.PI&&(h=-h),p+=h)}}return p}function Ts(t,e,n,i,r){for(var o,a,s,l,u=t.data,h=t.len(),c=0,p=0,d=0,f=0,g=0,y=0;y1&&(n||(c+=ms(p,d,f,g,i,r))),m&&(f=p=u[y],g=d=u[y+1]),v){case xs.M:p=f=u[y++],d=g=u[y++];break;case xs.L:if(n){if(cs(p,d,u[y],u[y+1],e,i,r))return!0}else c+=ms(p,d,u[y],u[y+1],i,r)||0;p=u[y++],d=u[y++];break;case xs.C:if(n){if(ps(p,d,u[y++],u[y++],u[y++],u[y++],u[y],u[y+1],e,i,r))return!0}else c+=Ss(p,d,u[y++],u[y++],u[y++],u[y++],u[y],u[y+1],i,r)||0;p=u[y++],d=u[y++];break;case xs.Q:if(n){if(ds(p,d,u[y++],u[y++],u[y],u[y+1],e,i,r))return!0}else c+=Ms(p,d,u[y++],u[y++],u[y],u[y+1],i,r)||0;p=u[y++],d=u[y++];break;case xs.A:var x=u[y++],_=u[y++],b=u[y++],w=u[y++],S=u[y++],M=u[y++];y+=1;var I=!!(1-u[y++]);o=Math.cos(S)*b+x,a=Math.sin(S)*w+_,m?(f=o,g=a):c+=ms(p,d,o,a,i,r);var T=(i-x)*w/b+x;if(n){if(vs(x,_,w,S,S+M,I,e,T,r))return!0}else c+=Is(x,_,w,S,S+M,I,T,r);p=Math.cos(S+M)*b+x,d=Math.sin(S+M)*w+_;break;case xs.R:if(f=p=u[y++],g=d=u[y++],o=f+u[y++],a=g+u[y++],n){if(cs(f,g,o,g,e,i,r)||cs(o,g,o,a,e,i,r)||cs(o,a,f,a,e,i,r)||cs(f,a,f,g,e,i,r))return!0}else c+=ms(o,g,o,a,i,r),c+=ms(f,a,f,g,i,r);break;case xs.Z:if(n){if(cs(p,d,f,g,e,i,r))return!0}else c+=ms(p,d,f,g,i,r);p=f,d=g}}return n||(s=d,l=g,Math.abs(s-l)<1e-4)||(c+=ms(p,d,f,g,i,r)||0),0!==c}var Cs=k({fill:"#000",stroke:null,strokePercent:1,fillOpacity:1,strokeOpacity:1,lineDashOffset:0,lineWidth:1,lineCap:"butt",miterLimit:10,strokeNoScale:!1,strokeFirst:!1},Ma),Ds={style:k({fill:!0,stroke:!0,strokePercent:!0,fillOpacity:!0,strokeOpacity:!0,lineDashOffset:!0,lineWidth:!0,miterLimit:!0},Ia.style)},As=mr.concat(["invisible","culling","z","z2","zlevel","parent"]),ks=function(t){function e(e){return t.call(this,e)||this}var i;return n(e,t),e.prototype.update=function(){var n=this;t.prototype.update.call(this);var i=this.style;if(i.decal){var r=this._decalEl=this._decalEl||new e;r.buildPath===e.prototype.buildPath&&(r.buildPath=function(t){n.buildPath(t,n.shape)}),r.silent=!0;var o=r.style;for(var a in i)o[a]!==i[a]&&(o[a]=i[a]);o.fill=i.fill?i.decal:null,o.decal=null,o.shadowColor=null,i.strokeFirst&&(o.stroke=null);for(var s=0;s.5?lr:e>.2?"#eee":ur}if(t)return ur}return lr},e.prototype.getInsideTextStroke=function(t){var e=this.style.fill;if(U(e)){var n=this.__zr;if(!(!n||!n.isDarkMode())===oi(t,0)<.4)return e}},e.prototype.buildPath=function(t,e,n){},e.prototype.pathUpdated=function(){this.__dirty&=-5},e.prototype.getUpdatedPathProxy=function(t){return!this.path&&this.createPathProxy(),this.path.beginPath(),this.buildPath(this.path,this.shape,t),this.path},e.prototype.createPathProxy=function(){this.path=new hs(!1)},e.prototype.hasStroke=function(){var t=this.style,e=t.stroke;return!(null==e||"none"===e||!(t.lineWidth>0))},e.prototype.hasFill=function(){var t=this.style.fill;return null!=t&&"none"!==t},e.prototype.getBoundingRect=function(){var t=this._rect,e=this.style,n=!t;if(n){var i=!1;this.path||(i=!0,this.createPathProxy());var r=this.path;(i||4&this.__dirty)&&(r.beginPath(),this.buildPath(r,this.shape,!1),this.pathUpdated()),t=r.getBoundingRect()}if(this._rect=t,this.hasStroke()&&this.path&&this.path.len()>0){var o=this._rectStroke||(this._rectStroke=t.clone());if(this.__dirty||n){o.copy(t);var a=e.strokeNoScale?this.getLineScale():1,s=e.lineWidth;if(!this.hasFill()){var l=this.strokeContainThreshold;s=Math.max(s,null==l?4:l)}a>1e-10&&(o.width+=s/a,o.height+=s/a,o.x-=s/a/2,o.y-=s/a/2)}return o}return t},e.prototype.contain=function(t,e){var n=this.transformCoordToLocal(t,e),i=this.getBoundingRect(),r=this.style;if(t=n[0],e=n[1],i.contain(t,e)){var o=this.path;if(this.hasStroke()){var a=r.lineWidth,s=r.strokeNoScale?this.getLineScale():1;if(s>1e-10&&(this.hasFill()||(a=Math.max(a,this.strokeContainThreshold)),function(t,e,n,i){return Ts(t,e,!0,n,i)}(o,a/s,t,e)))return!0}if(this.hasFill())return function(t,e,n){return Ts(t,0,!1,e,n)}(o,t,e)}return!1},e.prototype.dirtyShape=function(){this.__dirty|=4,this._rect&&(this._rect=null),this._decalEl&&this._decalEl.dirtyShape(),this.markRedraw()},e.prototype.dirty=function(){this.dirtyStyle(),this.dirtyShape()},e.prototype.animateShape=function(t){return this.animate("shape",t)},e.prototype.updateDuringAnimation=function(t){"style"===t?this.dirtyStyle():"shape"===t?this.dirtyShape():this.markRedraw()},e.prototype.attrKV=function(e,n){"shape"===e?this.setShape(n):t.prototype.attrKV.call(this,e,n)},e.prototype.setShape=function(t,e){var n=this.shape;return n||(n=this.shape={}),"string"==typeof t?n[t]=e:A(n,t),this.dirtyShape(),this},e.prototype.shapeChanged=function(){return!!(4&this.__dirty)},e.prototype.createStyle=function(t){return mt(Cs,t)},e.prototype._innerSaveToNormal=function(e){t.prototype._innerSaveToNormal.call(this,e);var n=this._normalState;e.shape&&!n.shape&&(n.shape=A({},this.shape))},e.prototype._applyStateObj=function(e,n,i,r,o,a){t.prototype._applyStateObj.call(this,e,n,i,r,o,a);var s,l=!(n&&r);if(n&&n.shape?o?r?s=n.shape:(s=A({},i.shape),A(s,n.shape)):(s=A({},r?this.shape:i.shape),A(s,n.shape)):l&&(s=i.shape),s)if(o){this.shape=A({},this.shape);for(var u={},h=G(s),c=0;c0},e.prototype.hasFill=function(){var t=this.style.fill;return null!=t&&"none"!==t},e.prototype.createStyle=function(t){return mt(Ls,t)},e.prototype.setBoundingRect=function(t){this._rect=t},e.prototype.getBoundingRect=function(){var t=this.style;if(!this._rect){var e=t.text;null!=e?e+="":e="";var n=Sr(e,t.font,t.textAlign,t.textBaseline);if(n.x+=t.x||0,n.y+=t.y||0,this.hasStroke()){var i=t.lineWidth;n.x-=i/2,n.y-=i/2,n.width+=i,n.height+=i}this._rect=n}return this._rect},e.initDefaultProps=void(e.prototype.dirtyRectTolerance=10),e}(Da);Ps.prototype.type="tspan";var Os=k({x:0,y:0},Ma),Rs={style:k({x:!0,y:!0,width:!0,height:!0,sx:!0,sy:!0,sWidth:!0,sHeight:!0},Ia.style)};var Ns=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n(e,t),e.prototype.createStyle=function(t){return mt(Os,t)},e.prototype._getSize=function(t){var e=this.style,n=e[t];if(null!=n)return n;var i,r=(i=e.image)&&"string"!=typeof i&&i.width&&i.height?e.image:this.__image;if(!r)return 0;var o="width"===t?"height":"width",a=e[o];return null==a?r[t]:r[t]/r[o]*a},e.prototype.getWidth=function(){return this._getSize("width")},e.prototype.getHeight=function(){return this._getSize("height")},e.prototype.getAnimationStyleProps=function(){return Rs},e.prototype.getBoundingRect=function(){var t=this.style;return this._rect||(this._rect=new ze(t.x||0,t.y||0,this.getWidth(),this.getHeight())),this._rect},e}(Da);Ns.prototype.type="image";var Es=Math.round;function zs(t,e,n){if(e){var i=e.x1,r=e.x2,o=e.y1,a=e.y2;t.x1=i,t.x2=r,t.y1=o,t.y2=a;var s=n&&n.lineWidth;return s?(Es(2*i)===Es(2*r)&&(t.x1=t.x2=Bs(i,s,!0)),Es(2*o)===Es(2*a)&&(t.y1=t.y2=Bs(o,s,!0)),t):t}}function Vs(t,e,n){if(e){var i=e.x,r=e.y,o=e.width,a=e.height;t.x=i,t.y=r,t.width=o,t.height=a;var s=n&&n.lineWidth;return s?(t.x=Bs(i,s,!0),t.y=Bs(r,s,!0),t.width=Math.max(Bs(i+o,s,!1)-t.x,0===o?0:1),t.height=Math.max(Bs(r+a,s,!1)-t.y,0===a?0:1),t):t}}function Bs(t,e,n){if(!e)return t;var i=Es(2*t);return(i+Es(e))%2==0?i/2:(i+(n?1:-1))/2}var Fs=function(){this.x=0,this.y=0,this.width=0,this.height=0},Gs={},Ws=function(t){function e(e){return t.call(this,e)||this}return n(e,t),e.prototype.getDefaultShape=function(){return new Fs},e.prototype.buildPath=function(t,e){var n,i,r,o;if(this.subPixelOptimize){var a=Vs(Gs,e,this.style);n=a.x,i=a.y,r=a.width,o=a.height,a.r=e.r,e=a}else n=e.x,i=e.y,r=e.width,o=e.height;e.r?function(t,e){var n,i,r,o,a,s=e.x,l=e.y,u=e.width,h=e.height,c=e.r;u<0&&(s+=u,u=-u),h<0&&(l+=h,h=-h),"number"==typeof c?n=i=r=o=c:c instanceof Array?1===c.length?n=i=r=o=c[0]:2===c.length?(n=r=c[0],i=o=c[1]):3===c.length?(n=c[0],i=o=c[1],r=c[2]):(n=c[0],i=c[1],r=c[2],o=c[3]):n=i=r=o=0,n+i>u&&(n*=u/(a=n+i),i*=u/a),r+o>u&&(r*=u/(a=r+o),o*=u/a),i+r>h&&(i*=h/(a=i+r),r*=h/a),n+o>h&&(n*=h/(a=n+o),o*=h/a),t.moveTo(s+n,l),t.lineTo(s+u-i,l),0!==i&&t.arc(s+u-i,l+i,i,-Math.PI/2,0),t.lineTo(s+u,l+h-r),0!==r&&t.arc(s+u-r,l+h-r,r,0,Math.PI/2),t.lineTo(s+o,l+h),0!==o&&t.arc(s+o,l+h-o,o,Math.PI/2,Math.PI),t.lineTo(s,l+n),0!==n&&t.arc(s+n,l+n,n,Math.PI,1.5*Math.PI)}(t,e):t.rect(n,i,r,o)},e.prototype.isZeroArea=function(){return!this.shape.width||!this.shape.height},e}(ks);Ws.prototype.type="rect";var Hs={fill:"#000"},Ys={style:k({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},Ia.style)},Xs=function(t){function e(e){var n=t.call(this)||this;return n.type="text",n._children=[],n._defaultStyle=Hs,n.attr(e),n}return n(e,t),e.prototype.childrenRef=function(){return this._children},e.prototype.update=function(){t.prototype.update.call(this),this.styleChanged()&&this._updateSubTexts();for(var e=0;ed&&h){var f=Math.floor(d/l);n=n.slice(0,f)}if(t&&a&&null!=c)for(var g=da(c,o,e.ellipsis,{minChar:e.truncateMinChar,placeholder:e.placeholder}),y=0;y0,T=null!=t.width&&("truncate"===t.overflow||"break"===t.overflow||"breakAll"===t.overflow),C=i.calculatedLineHeight,D=0;Dl&&xa(n,t.substring(l,u),e,s),xa(n,i[2],e,s,i[1]),l=ca.lastIndex}lo){b>0?(m.tokens=m.tokens.slice(0,b),y(m,_,x),n.lines=n.lines.slice(0,v+1)):n.lines=n.lines.slice(0,v);break t}var C=w.width,D=null==C||"auto"===C;if("string"==typeof C&&"%"===C.charAt(C.length-1))P.percentWidth=C,h.push(P),P.contentWidth=br(P.text,I);else{if(D){var A=w.backgroundColor,k=A&&A.image;k&&ha(k=sa(k))&&(P.width=Math.max(P.width,k.width*T/k.height))}var L=f&&null!=r?r-_:null;null!=L&&L=0&&"right"===(C=x[T]).align;)this._placeToken(C,t,b,f,I,"right",y),w-=C.width,I-=C.width,T--;for(M+=(n-(M-d)-(g-I)-w)/2;S<=T;)C=x[S],this._placeToken(C,t,b,f,M+C.width/2,"center",y),M+=C.width,S++;f+=b}},e.prototype._placeToken=function(t,e,n,i,r,o,s){var l=e.rich[t.styleName]||{};l.text=t.text;var u=t.verticalAlign,h=i+n/2;"top"===u?h=i+t.height/2:"bottom"===u&&(h=i+n-t.height/2),!t.isLineHolder&&il(l)&&this._renderBackground(l,e,"right"===o?r-t.width:"center"===o?r-t.width/2:r,h-t.height/2,t.width,t.height);var c=!!l.backgroundColor,p=t.textPadding;p&&(r=el(r,o,p),h-=t.height/2-p[0]-t.innerHeight/2);var d=this._getOrCreateChild(Ps),f=d.createStyle();d.useStyle(f);var g=this._defaultStyle,y=!1,v=0,m=tl("fill"in l?l.fill:"fill"in e?e.fill:(y=!0,g.fill)),x=Qs("stroke"in l?l.stroke:"stroke"in e?e.stroke:c||s||g.autoStroke&&!y?null:(v=2,g.stroke)),_=l.textShadowBlur>0||e.textShadowBlur>0;f.text=t.text,f.x=r,f.y=h,_&&(f.shadowBlur=l.textShadowBlur||e.textShadowBlur||0,f.shadowColor=l.textShadowColor||e.textShadowColor||"transparent",f.shadowOffsetX=l.textShadowOffsetX||e.textShadowOffsetX||0,f.shadowOffsetY=l.textShadowOffsetY||e.textShadowOffsetY||0),f.textAlign=o,f.textBaseline="middle",f.font=t.font||a,f.opacity=ot(l.opacity,e.opacity,1),Ks(f,l),x&&(f.lineWidth=ot(l.lineWidth,e.lineWidth,v),f.lineDash=rt(l.lineDash,e.lineDash),f.lineDashOffset=e.lineDashOffset||0,f.stroke=x),m&&(f.fill=m);var b=t.contentWidth,w=t.contentHeight;d.setBoundingRect(new ze(Mr(f.x,b,f.textAlign),Ir(f.y,w,f.textBaseline),b,w))},e.prototype._renderBackground=function(t,e,n,i,r,o){var a,s,l,u=t.backgroundColor,h=t.borderWidth,c=t.borderColor,p=u&&u.image,d=u&&!p,f=t.borderRadius,g=this;if(d||t.lineHeight||h&&c){(a=this._getOrCreateChild(Ws)).useStyle(a.createStyle()),a.style.fill=null;var y=a.shape;y.x=n,y.y=i,y.width=r,y.height=o,y.r=f,a.dirtyShape()}if(d)(l=a.style).fill=u||null,l.fillOpacity=rt(t.fillOpacity,1);else if(p){(s=this._getOrCreateChild(Ns)).onload=function(){g.dirtyStyle()};var v=s.style;v.image=u.image,v.x=n,v.y=i,v.width=r,v.height=o}h&&c&&((l=a.style).lineWidth=h,l.stroke=c,l.strokeOpacity=rt(t.strokeOpacity,1),l.lineDash=t.borderDash,l.lineDashOffset=t.borderDashOffset||0,a.strokeContainThreshold=0,a.hasFill()&&a.hasStroke()&&(l.strokeFirst=!0,l.lineWidth*=2));var m=(a||s).style;m.shadowBlur=t.shadowBlur||0,m.shadowColor=t.shadowColor||"transparent",m.shadowOffsetX=t.shadowOffsetX||0,m.shadowOffsetY=t.shadowOffsetY||0,m.opacity=ot(t.opacity,e.opacity,1)},e.makeFont=function(t){var e="";return $s(t)&&(e=[t.fontStyle,t.fontWeight,qs(t.fontSize),t.fontFamily||"sans-serif"].join(" ")),e&&ut(e)||t.textFont||t.font},e}(Da),Us={left:!0,right:1,center:1},Zs={top:1,bottom:1,middle:1},js=["fontStyle","fontWeight","fontSize","fontFamily"];function qs(t){return"string"!=typeof t||-1===t.indexOf("px")&&-1===t.indexOf("rem")&&-1===t.indexOf("em")?isNaN(+t)?"12px":t+"px":t}function Ks(t,e){for(var n=0;n=0,o=!1;if(t instanceof ks){var a=ll(t),s=r&&a.selectFill||a.normalFill,l=r&&a.selectStroke||a.normalStroke;if(ml(s)||ml(l)){var u=(i=i||{}).style||{};"inherit"===u.fill?(o=!0,i=A({},i),(u=A({},u)).fill=s):!ml(u.fill)&&ml(s)?(o=!0,i=A({},i),(u=A({},u)).fill=si(s)):!ml(u.stroke)&&ml(l)&&(o||(i=A({},i),u=A({},u)),u.stroke=si(l)),i.style=u}}if(i&&null==i.z2){o||(i=A({},i));var h=t.z2EmphasisLift;i.z2=t.z2+(null!=h?h:pl)}return i}(this,0,e,n);if("blur"===t)return function(t,e,n){var i=P(t.currentStates,e)>=0,r=t.style.opacity,o=i?null:function(t,e,n,i){for(var r=t.style,o={},a=0;a0){var o={dataIndex:r,seriesIndex:t.seriesIndex};null!=i&&(o.dataType=i),e.push(o)}}))})),e}function Ul(t,e,n){Jl(t,!0),Cl(t,kl),jl(t,e,n)}function Zl(t,e,n,i){i?function(t){Jl(t,!1)}(t):Ul(t,e,n)}function jl(t,e,n){var i=rl(t);null!=e?(i.focus=e,i.blurScope=n):i.focus&&(i.focus=null)}var ql=["emphasis","blur","select"],Kl={itemStyle:"getItemStyle",lineStyle:"getLineStyle",areaStyle:"getAreaStyle"};function $l(t,e,n,i){n=n||"itemStyle";for(var r=0;r1&&(a*=su(f),s*=su(f));var g=(r===o?-1:1)*su((a*a*(s*s)-a*a*(d*d)-s*s*(p*p))/(a*a*(d*d)+s*s*(p*p)))||0,y=g*a*d/s,v=g*-s*p/a,m=(t+n)/2+uu(c)*y-lu(c)*v,x=(e+i)/2+lu(c)*y+uu(c)*v,_=du([1,0],[(p-y)/a,(d-v)/s]),b=[(p-y)/a,(d-v)/s],w=[(-1*p-y)/a,(-1*d-v)/s],S=du(b,w);if(pu(b,w)<=-1&&(S=hu),pu(b,w)>=1&&(S=0),S<0){var M=Math.round(S/hu*1e6)/1e6;S=2*hu+M%2*hu}h.addData(u,m,x,a,s,_,S,c,o)}var gu=/([mlvhzcqtsa])([^mlvhzcqtsa]*)/gi,yu=/-?([0-9]*\.)?[0-9]+([eE]-?[0-9]+)?/g;var vu=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n(e,t),e.prototype.applyTransform=function(t){},e}(ks);function mu(t){return null!=t.setData}function xu(t,e){var n=function(t){var e=new hs;if(!t)return e;var n,i=0,r=0,o=i,a=r,s=hs.CMD,l=t.match(gu);if(!l)return e;for(var u=0;uk*k+L*L&&(M=T,I=C),{cx:M,cy:I,x0:-h,y0:-c,x1:M*(r/b-1),y1:I*(r/b-1)}}function Vu(t,e){var n,i=Ru(e.r,0),r=Ru(e.r0||0,0),o=i>0;if(o||r>0){if(o||(i=r,r=0),r>i){var a=i;i=r,r=a}var s=e.startAngle,l=e.endAngle;if(!isNaN(s)&&!isNaN(l)){var u=e.cx,h=e.cy,c=!!e.clockwise,p=Pu(l-s),d=p>Cu&&p%Cu;if(d>Eu&&(p=d),i>Eu)if(p>Cu-Eu)t.moveTo(u+i*Au(s),h+i*Du(s)),t.arc(u,h,i,s,l,!c),r>Eu&&(t.moveTo(u+r*Au(l),h+r*Du(l)),t.arc(u,h,r,l,s,c));else{var f=void 0,g=void 0,y=void 0,v=void 0,m=void 0,x=void 0,_=void 0,b=void 0,w=void 0,S=void 0,M=void 0,I=void 0,T=void 0,C=void 0,D=void 0,A=void 0,k=i*Au(s),L=i*Du(s),P=r*Au(l),O=r*Du(l),R=p>Eu;if(R){var N=e.cornerRadius;N&&(n=function(t){var e;if(Y(t)){var n=t.length;if(!n)return t;e=1===n?[t[0],t[0],0,0]:2===n?[t[0],t[0],t[1],t[1]]:3===n?t.concat(t[2]):t}else e=[t,t,t,t];return e}(N),f=n[0],g=n[1],y=n[2],v=n[3]);var E=Pu(i-r)/2;if(m=Nu(E,y),x=Nu(E,v),_=Nu(E,f),b=Nu(E,g),M=w=Ru(m,x),I=S=Ru(_,b),(w>Eu||S>Eu)&&(T=i*Au(l),C=i*Du(l),D=r*Au(s),A=r*Du(s),pEu){var X=Nu(y,M),U=Nu(v,M),Z=zu(D,A,k,L,i,X,c),j=zu(T,C,P,O,i,U,c);t.moveTo(u+Z.cx+Z.x0,h+Z.cy+Z.y0),M0&&t.arc(u+Z.cx,h+Z.cy,X,Lu(Z.y0,Z.x0),Lu(Z.y1,Z.x1),!c),t.arc(u,h,i,Lu(Z.cy+Z.y1,Z.cx+Z.x1),Lu(j.cy+j.y1,j.cx+j.x1),!c),U>0&&t.arc(u+j.cx,h+j.cy,U,Lu(j.y1,j.x1),Lu(j.y0,j.x0),!c))}else t.moveTo(u+k,h+L),t.arc(u,h,i,s,l,!c);else t.moveTo(u+k,h+L);if(r>Eu&&R)if(I>Eu){X=Nu(f,I),Z=zu(P,O,T,C,r,-(U=Nu(g,I)),c),j=zu(k,L,D,A,r,-X,c);t.lineTo(u+Z.cx+Z.x0,h+Z.cy+Z.y0),I0&&t.arc(u+Z.cx,h+Z.cy,U,Lu(Z.y0,Z.x0),Lu(Z.y1,Z.x1),!c),t.arc(u,h,r,Lu(Z.cy+Z.y1,Z.cx+Z.x1),Lu(j.cy+j.y1,j.cx+j.x1),c),X>0&&t.arc(u+j.cx,h+j.cy,X,Lu(j.y1,j.x1),Lu(j.y0,j.x0),!c))}else t.lineTo(u+P,h+O),t.arc(u,h,r,l,s,c);else t.lineTo(u+P,h+O)}else t.moveTo(u,h);t.closePath()}}}var Bu=function(){this.cx=0,this.cy=0,this.r0=0,this.r=0,this.startAngle=0,this.endAngle=2*Math.PI,this.clockwise=!0,this.cornerRadius=0},Fu=function(t){function e(e){return t.call(this,e)||this}return n(e,t),e.prototype.getDefaultShape=function(){return new Bu},e.prototype.buildPath=function(t,e){Vu(t,e)},e.prototype.isZeroArea=function(){return this.shape.startAngle===this.shape.endAngle||this.shape.r===this.shape.r0},e}(ks);Fu.prototype.type="sector";var Gu=function(){this.cx=0,this.cy=0,this.r=0,this.r0=0},Wu=function(t){function e(e){return t.call(this,e)||this}return n(e,t),e.prototype.getDefaultShape=function(){return new Gu},e.prototype.buildPath=function(t,e){var n=e.cx,i=e.cy,r=2*Math.PI;t.moveTo(n+e.r,i),t.arc(n,i,e.r,0,r,!1),t.moveTo(n+e.r0,i),t.arc(n,i,e.r0,0,r,!0)},e}(ks);function Hu(t,e,n){var i=e.smooth,r=e.points;if(r&&r.length>=2){if(i){var o=function(t,e,n,i){var r,o,a,s,l=[],u=[],h=[],c=[];if(i){a=[1/0,1/0],s=[-1/0,-1/0];for(var p=0,d=t.length;plh[1]){if(a=!1,r)return a;var u=Math.abs(lh[0]-sh[1]),h=Math.abs(sh[0]-lh[1]);Math.min(u,h)>i.len()&&(u0){var c={duration:h.duration,delay:h.delay||0,easing:h.easing,done:o,force:!!o||!!a,setToFinal:!u,scope:t,during:a};l?e.animateFrom(n,c):e.animateTo(n,c)}else e.stopAnimation(),!l&&e.attr(n),a&&a(1),o&&o()}function vh(t,e,n,i,r,o){yh("update",t,e,n,i,r,o)}function mh(t,e,n,i,r,o){yh("enter",t,e,n,i,r,o)}function xh(t){if(!t.__zr)return!0;for(var e=0;eMath.abs(o[1])?o[0]>0?"right":"left":o[1]>0?"bottom":"top"}function Wh(t){return!t.isGroup}function Hh(t,e,n){if(t&&e){var i,r=(i={},t.traverse((function(t){Wh(t)&&t.anid&&(i[t.anid]=t)})),i);e.traverse((function(t){if(Wh(t)&&t.anid){var e=r[t.anid];if(e){var i=o(t);t.attr(o(e)),vh(t,i,n,rl(t).dataIndex)}}}))}function o(t){var e={x:t.x,y:t.y,rotation:t.rotation};return function(t){return null!=t.shape}(t)&&(e.shape=A({},t.shape)),e}}function Yh(t,e){return z(t,(function(t){var n=t[0];n=Mh(n,e.x),n=Ih(n,e.x+e.width);var i=t[1];return i=Mh(i,e.y),[n,i=Ih(i,e.y+e.height)]}))}function Xh(t,e){var n=Mh(t.x,e.x),i=Ih(t.x+t.width,e.x+e.width),r=Mh(t.y,e.y),o=Ih(t.y+t.height,e.y+e.height);if(i>=n&&o>=r)return{x:n,y:r,width:i-n,height:o-r}}function Uh(t,e,n){var i=A({rectHover:!0},e),r=i.style={strokeNoScale:!0};if(n=n||{x:-1,y:-1,width:2,height:2},t)return 0===t.indexOf("image://")?(r.image=t.slice(8),k(r,n),new Ns(i)):Ph(t.replace("path://",""),i,n,"center")}function Zh(t,e,n,i,r){for(var o=0,a=r[r.length-1];o=-1e-6)return!1;var f=t-r,g=e-o,y=qh(f,g,u,h)/d;if(y<0||y>1)return!1;var v=qh(f,g,c,p)/d;return!(v<0||v>1)}function qh(t,e,n,i){return t*i-n*e}function Kh(t){var e=t.itemTooltipOption,n=t.componentModel,i=t.itemName,r=U(e)?{formatter:e}:e,o=n.mainType,a=n.componentIndex,s={componentType:o,name:i,$vars:["name"]};s[o+"Index"]=a;var l=t.formatterParamsExtra;l&&E(G(l),(function(t){_t(s,t)||(s[t]=l[t],s.$vars.push(t))}));var u=rl(t.el);u.componentMainType=o,u.componentIndex=a,u.tooltipConfig={name:i,option:k({content:i,encodeHTMLContent:!0,formatterParams:s},r)}}function $h(t,e){var n;t.isGroup&&(n=e(t)),n||t.traverse(e)}function Jh(t,e){if(t)if(Y(t))for(var n=0;n-1?Lc:Oc;function zc(t,e){t=t.toUpperCase(),Nc[t]=new Cc(e),Rc[t]=e}function Vc(t){return Nc[t]}zc(Pc,{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:". "}}}}),zc(Lc,{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 Bc=1e3,Fc=6e4,Gc=36e5,Wc=864e5,Hc=31536e6,Yc={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}"},Xc="{yyyy}-{MM}-{dd}",Uc={year:"{yyyy}",month:"{yyyy}-{MM}",day:Xc,hour:Xc+" "+Yc.hour,minute:Xc+" "+Yc.minute,second:Xc+" "+Yc.second,millisecond:Yc.none},Zc=["year","month","day","hour","minute","second","millisecond"],jc=["year","half-year","quarter","month","week","half-week","day","half-day","quarter-day","hour","minute","second","millisecond"];function qc(t,e){return"0000".substr(0,e-(t+="").length)+t}function Kc(t){switch(t){case"half-year":case"quarter":return"month";case"week":case"half-week":return"day";case"half-day":case"quarter-day":return"hour";default:return t}}function $c(t){return t===Kc(t)}function Jc(t,e,n,i){var r=uo(t),o=r[ep(n)](),a=r[np(n)]()+1,s=Math.floor((a-1)/3)+1,l=r[ip(n)](),u=r["get"+(n?"UTC":"")+"Day"](),h=r[rp(n)](),c=(h-1)%12+1,p=r[op(n)](),d=r[ap(n)](),f=r[sp(n)](),g=h>=12?"pm":"am",y=g.toUpperCase(),v=(i instanceof Cc?i:Vc(i||Ec)||Nc[Oc]).getModel("time"),m=v.get("month"),x=v.get("monthAbbr"),_=v.get("dayOfWeek"),b=v.get("dayOfWeekAbbr");return(e||"").replace(/{a}/g,g+"").replace(/{A}/g,y+"").replace(/{yyyy}/g,o+"").replace(/{yy}/g,qc(o%100+"",2)).replace(/{Q}/g,s+"").replace(/{MMMM}/g,m[a-1]).replace(/{MMM}/g,x[a-1]).replace(/{MM}/g,qc(a,2)).replace(/{M}/g,a+"").replace(/{dd}/g,qc(l,2)).replace(/{d}/g,l+"").replace(/{eeee}/g,_[u]).replace(/{ee}/g,b[u]).replace(/{e}/g,u+"").replace(/{HH}/g,qc(h,2)).replace(/{H}/g,h+"").replace(/{hh}/g,qc(c+"",2)).replace(/{h}/g,c+"").replace(/{mm}/g,qc(p,2)).replace(/{m}/g,p+"").replace(/{ss}/g,qc(d,2)).replace(/{s}/g,d+"").replace(/{SSS}/g,qc(f,3)).replace(/{S}/g,f+"")}function Qc(t,e){var n=uo(t),i=n[np(e)]()+1,r=n[ip(e)](),o=n[rp(e)](),a=n[op(e)](),s=n[ap(e)](),l=0===n[sp(e)](),u=l&&0===s,h=u&&0===a,c=h&&0===o,p=c&&1===r;return p&&1===i?"year":p?"month":c?"day":h?"hour":u?"minute":l?"second":"millisecond"}function tp(t,e,n){var i=j(t)?uo(t):t;switch(e=e||Qc(t,n)){case"year":return i[ep(n)]();case"half-year":return i[np(n)]()>=6?1:0;case"quarter":return Math.floor((i[np(n)]()+1)/4);case"month":return i[np(n)]();case"day":return i[ip(n)]();case"half-day":return i[rp(n)]()/24;case"hour":return i[rp(n)]();case"minute":return i[op(n)]();case"second":return i[ap(n)]();case"millisecond":return i[sp(n)]()}}function ep(t){return t?"getUTCFullYear":"getFullYear"}function np(t){return t?"getUTCMonth":"getMonth"}function ip(t){return t?"getUTCDate":"getDate"}function rp(t){return t?"getUTCHours":"getHours"}function op(t){return t?"getUTCMinutes":"getMinutes"}function ap(t){return t?"getUTCSeconds":"getSeconds"}function sp(t){return t?"getUTCMilliseconds":"getMilliseconds"}function lp(t){return t?"setUTCFullYear":"setFullYear"}function up(t){return t?"setUTCMonth":"setMonth"}function hp(t){return t?"setUTCDate":"setDate"}function cp(t){return t?"setUTCHours":"setHours"}function pp(t){return t?"setUTCMinutes":"setMinutes"}function dp(t){return t?"setUTCSeconds":"setSeconds"}function fp(t){return t?"setUTCMilliseconds":"setMilliseconds"}function gp(t){if(!vo(t))return U(t)?t:"-";var e=(t+"").split(".");return e[0].replace(/(\d{1,3})(?=(?:\d{3})+(?!\d))/g,"$1,")+(e.length>1?"."+e[1]:"")}function yp(t,e){return t=(t||"").toLowerCase().replace(/-(.)/g,(function(t,e){return e.toUpperCase()})),e&&t&&(t=t.charAt(0).toUpperCase()+t.slice(1)),t}var vp=st;function mp(t,e,n){function i(t){return t&&ut(t)?t:"-"}function r(t){return!(null==t||isNaN(t)||!isFinite(t))}var o="time"===e,a=t instanceof Date;if(o||a){var s=o?uo(t):t;if(!isNaN(+s))return Jc(s,"{yyyy}-{MM}-{dd} {HH}:{mm}:{ss}",n);if(a)return"-"}if("ordinal"===e)return Z(t)?i(t):j(t)&&r(t)?t+"":"-";var l=yo(t);return r(l)?gp(l):Z(t)?i(t):"boolean"==typeof t?t+"":"-"}var xp=["a","b","c","d","e","f","g"],_p=function(t,e){return"{"+t+(null==e?"":e)+"}"};function bp(t,e,n){Y(e)||(e=[e]);var i=e.length;if(!i)return"";for(var r=e[0].$vars||[],o=0;o':'':{renderMode:o,content:"{"+(n.markerId||"markerX")+"|} ",style:"subItem"===r?{width:4,height:4,borderRadius:2,backgroundColor:i}:{width:10,height:10,borderRadius:5,backgroundColor:i}}:""}function Sp(t,e){return e=e||"transparent",U(t)?t:q(t)&&t.colorStops&&(t.colorStops[0]||{}).color||e}function Mp(t,e){if("_blank"===e||"blank"===e){var n=window.open();n.opener=null,n.location.href=t}else window.open(t,e)}var Ip=E,Tp=["left","right","top","bottom","width","height"],Cp=[["width","left","right"],["height","top","bottom"]];function Dp(t,e,n,i,r){var o=0,a=0;null==i&&(i=1/0),null==r&&(r=1/0);var s=0;e.eachChild((function(l,u){var h,c,p=l.getBoundingRect(),d=e.childAt(u+1),f=d&&d.getBoundingRect();if("horizontal"===t){var g=p.width+(f?-f.x+p.x:0);(h=o+g)>i||l.newline?(o=0,h=g,a+=s+n,s=p.height):s=Math.max(s,p.height)}else{var y=p.height+(f?-f.y+p.y:0);(c=a+y)>r||l.newline?(o+=s+n,a=0,c=y,s=p.width):s=Math.max(s,p.width)}l.newline||(l.x=o,l.y=a,l.markRedraw(),"horizontal"===t?o=h+n:a=c+n)}))}var Ap=Dp;H(Dp,"vertical"),H(Dp,"horizontal");function kp(t,e,n){n=vp(n||0);var i=e.width,r=e.height,o=$r(t.left,i),a=$r(t.top,r),s=$r(t.right,i),l=$r(t.bottom,r),u=$r(t.width,i),h=$r(t.height,r),c=n[2]+n[0],p=n[1]+n[3],d=t.aspect;switch(isNaN(u)&&(u=i-s-p-o),isNaN(h)&&(h=r-l-c-a),null!=d&&(isNaN(u)&&isNaN(h)&&(d>i/r?u=.8*i:h=.8*r),isNaN(u)&&(u=d*h),isNaN(h)&&(h=u/d)),isNaN(o)&&(o=i-s-u-p),isNaN(a)&&(a=r-l-h-c),t.left||t.right){case"center":o=i/2-u/2-n[3];break;case"right":o=i-u-p}switch(t.top||t.bottom){case"middle":case"center":a=r/2-h/2-n[0];break;case"bottom":a=r-h-c}o=o||0,a=a||0,isNaN(u)&&(u=i-p-o-(s||0)),isNaN(h)&&(h=r-c-a-(l||0));var f=new ze(o+n[3],a+n[0],u,h);return f.margin=n,f}function Lp(t,e,n,i,r,o){var a,s=!r||!r.hv||r.hv[0],l=!r||!r.hv||r.hv[1],u=r&&r.boundingMode||"all";if((o=o||t).x=t.x,o.y=t.y,!s&&!l)return!1;if("raw"===u)a="group"===t.type?new ze(0,0,+e.width||0,+e.height||0):t.getBoundingRect();else if(a=t.getBoundingRect(),t.needLocalTransform()){var h=t.getLocalTransform();(a=a.clone()).applyTransform(h)}var c=kp(k({width:a.width,height:a.height},e),n,i),p=s?c.x-a.x:0,d=l?c.y-a.y:0;return"raw"===u?(o.x=p,o.y=d):(o.x+=p,o.y+=d),o===t&&t.markRedraw(),!0}function Pp(t){var e=t.layoutMode||t.constructor.layoutMode;return q(e)?e:e?{type:e}:null}function Op(t,e,n){var i=n&&n.ignoreSize;!Y(i)&&(i=[i,i]);var r=a(Cp[0],0),o=a(Cp[1],1);function a(n,r){var o={},a=0,u={},h=0;if(Ip(n,(function(e){u[e]=t[e]})),Ip(n,(function(t){s(e,t)&&(o[t]=u[t]=e[t]),l(o,t)&&a++,l(u,t)&&h++})),i[r])return l(e,n[1])?u[n[2]]=null:l(e,n[2])&&(u[n[1]]=null),u;if(2!==h&&a){if(a>=2)return o;for(var c=0;c=0;a--)o=C(o,n[a],!0);e.defaultOption=o}return e.defaultOption},e.prototype.getReferringComponents=function(t,e){var n=t+"Index",i=t+"Id";return Yo(this.ecModel,t,{index:this.get(n,!0),id:this.get(i,!0)},e)},e.prototype.getBoxLayoutParams=function(){var t=this;return{left:t.get("left"),top:t.get("top"),right:t.get("right"),bottom:t.get("bottom"),width:t.get("width"),height:t.get("height")}},e.prototype.getZLevelKey=function(){return""},e.prototype.setZLevel=function(t){this.option.zlevel=t},e.protoInitialize=function(){var t=e.prototype;t.type="component",t.id="",t.name="",t.mainType="",t.subType="",t.componentIndex=0}(),e}(Cc);Jo(zp,Cc),na(zp),function(t){var e={};t.registerSubTypeDefaulter=function(t,n){var i=Ko(t);e[i.main]=n},t.determineSubType=function(n,i){var r=i.type;if(!r){var o=Ko(n).main;t.hasSubTypes(n)&&e[o]&&(r=e[o](i))}return r}}(zp),function(t,e){function n(t,e){return t[e]||(t[e]={predecessor:[],successor:[]}),t[e]}t.topologicalTravel=function(t,i,r,o){if(t.length){var a=function(t){var i={},r=[];return E(t,(function(o){var a=n(i,o),s=function(t,e){var n=[];return E(t,(function(t){P(e,t)>=0&&n.push(t)})),n}(a.originalDeps=e(o),t);a.entryCount=s.length,0===a.entryCount&&r.push(o),E(s,(function(t){P(a.predecessor,t)<0&&a.predecessor.push(t);var e=n(i,t);P(e.successor,t)<0&&e.successor.push(o)}))})),{graph:i,noEntryList:r}}(i),s=a.graph,l=a.noEntryList,u={};for(E(t,(function(t){u[t]=!0}));l.length;){var h=l.pop(),c=s[h],p=!!u[h];p&&(r.call(o,h,c.originalDeps.slice()),delete u[h]),E(c.successor,p?f:d)}E(u,(function(){var t="";throw new Error(t)}))}function d(t){s[t].entryCount--,0===s[t].entryCount&&l.push(t)}function f(t){u[t]=!0,d(t)}}}(zp,(function(t){var e=[];E(zp.getClassesByMainType(t),(function(t){e=e.concat(t.dependencies||t.prototype.dependencies||[])})),e=z(e,(function(t){return Ko(t).main})),"dataset"!==t&&P(e,"dataset")<=0&&e.unshift("dataset");return e}));var Vp="";"undefined"!=typeof navigator&&(Vp=navigator.platform||"");var Bp="rgba(0, 0, 0, 0.2)",Fp={darkMode:"auto",colorBy:"series",color:["#5470c6","#91cc75","#fac858","#ee6666","#73c0de","#3ba272","#fc8452","#9a60b4","#ea7ccc"],gradientColor:["#f6efa6","#d88273","#bf444c"],aria:{decal:{decals:[{color:Bp,dashArrayX:[1,0],dashArrayY:[2,5],symbolSize:1,rotation:Math.PI/6},{color:Bp,symbol:"circle",dashArrayX:[[8,8],[0,8,8,0]],dashArrayY:[6,0],symbolSize:.8},{color:Bp,dashArrayX:[1,0],dashArrayY:[4,3],rotation:-Math.PI/4},{color:Bp,dashArrayX:[[6,6],[0,6,6,0]],dashArrayY:[6,0]},{color:Bp,dashArrayX:[[1,0],[1,6]],dashArrayY:[1,0,6,0],rotation:Math.PI/4},{color:Bp,symbol:"triangle",dashArrayX:[[9,9],[0,9,9,0]],dashArrayY:[7,2],symbolSize:.75}]}},textStyle:{fontFamily:Vp.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},Gp=yt(["tooltip","label","itemName","itemId","itemGroupId","itemChildGroupId","seriesName"]),Wp="original",Hp="arrayRows",Yp="objectRows",Xp="keyedColumns",Up="typedArray",Zp="unknown",jp="column",qp="row",Kp=1,$p=2,Jp=3,Qp=Vo();function td(t,e,n){var i={},r=nd(e);if(!r||!t)return i;var o,a,s=[],l=[],u=e.ecModel,h=Qp(u).datasetMap,c=r.uid+"_"+n.seriesLayoutBy;E(t=t.slice(),(function(e,n){var r=q(e)?e:t[n]={name:e};"ordinal"===r.type&&null==o&&(o=n,a=f(r)),i[r.name]=[]}));var p=h.get(c)||h.set(c,{categoryWayDim:a,valueWayDim:0});function d(t,e,n){for(var i=0;ie)return t[i];return t[n-1]}(i,a):n;if((h=h||n)&&h.length){var c=h[l];return r&&(u[r]=c),s.paletteIdx=(l+1)%h.length,c}}var fd="\0_ec_inner";var gd=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n(e,t),e.prototype.init=function(t,e,n,i,r,o){i=i||{},this.option=null,this._theme=new Cc(i),this._locale=new Cc(r),this._optionManager=o},e.prototype.setOption=function(t,e,n){var i=md(e);this._optionManager.setOption(t,n,i),this._resetOption(null,i)},e.prototype.resetOption=function(t,e){return this._resetOption(t,md(e))},e.prototype._resetOption=function(t,e){var n=!1,i=this._optionManager;if(!t||"recreate"===t){var r=i.mountOption("recreate"===t);0,this.option&&"recreate"!==t?(this.restoreData(),this._mergeOption(r,e)):ld(this,r),n=!0}if("timeline"!==t&&"media"!==t||this.restoreData(),!t||"recreate"===t||"timeline"===t){var o=i.getTimelineOption(this);o&&(n=!0,this._mergeOption(o,e))}if(!t||"recreate"===t||"media"===t){var a=i.getMediaOption(this);a.length&&E(a,(function(t){n=!0,this._mergeOption(t,e)}),this)}return n},e.prototype.mergeOption=function(t){this._mergeOption(t,null)},e.prototype._mergeOption=function(t,e){var n=this.option,i=this._componentsMap,r=this._componentsCount,o=[],a=yt(),s=e&&e.replaceMergeMainTypeMap;Qp(this).datasetMap=yt(),E(t,(function(t,e){null!=t&&(zp.hasClass(e)?e&&(o.push(e),a.set(e,!0)):n[e]=null==n[e]?T(t):C(n[e],t,!0))})),s&&s.each((function(t,e){zp.hasClass(e)&&!a.get(e)&&(o.push(e),a.set(e,!0))})),zp.topologicalTravel(o,zp.getAllClassMainTypes(),(function(e){var o=function(t,e,n){var i=od.get(e);if(!i)return n;var r=i(t);return r?n.concat(r):n}(this,e,To(t[e])),a=i.get(e),l=a?s&&s.get(e)?"replaceMerge":"normalMerge":"replaceAll",u=Lo(a,o,l);(function(t,e,n){E(t,(function(t){var i=t.newOption;q(i)&&(t.keyInfo.mainType=e,t.keyInfo.subType=function(t,e,n,i){return e.type?e.type:n?n.subType:i.determineSubType(t,e)}(e,i,t.existing,n))}))})(u,e,zp),n[e]=null,i.set(e,null),r.set(e,0);var h,c=[],p=[],d=0;E(u,(function(t,n){var i=t.existing,r=t.newOption;if(r){var o="series"===e,a=zp.getClass(e,t.keyInfo.subType,!o);if(!a)return;if("tooltip"===e){if(h)return void 0;h=!0}if(i&&i.constructor===a)i.name=t.keyInfo.name,i.mergeOption(r,this),i.optionUpdated(r,!1);else{var s=A({componentIndex:n},t.keyInfo);A(i=new a(r,this,this,s),s),t.brandNew&&(i.__requireNewView=!0),i.init(r,this,this),i.optionUpdated(null,!0)}}else i&&(i.mergeOption({},this),i.optionUpdated({},!1));i?(c.push(i.option),p.push(i),d++):(c.push(void 0),p.push(void 0))}),this),n[e]=c,i.set(e,p),r.set(e,d),"series"===e&&ad(this)}),this),this._seriesIndices||ad(this)},e.prototype.getOption=function(){var t=T(this.option);return E(t,(function(e,n){if(zp.hasClass(n)){for(var i=To(e),r=i.length,o=!1,a=r-1;a>=0;a--)i[a]&&!Eo(i[a])?o=!0:(i[a]=null,!o&&r--);i.length=r,t[n]=i}})),delete t[fd],t},e.prototype.getTheme=function(){return this._theme},e.prototype.getLocaleModel=function(){return this._locale},e.prototype.setUpdatePayload=function(t){this._payload=t},e.prototype.getUpdatePayload=function(){return this._payload},e.prototype.getComponent=function(t,e){var n=this._componentsMap.get(t);if(n){var i=n[e||0];if(i)return i;if(null==e)for(var r=0;r=e:"max"===n?t<=e:t===e})(i[a],t,o)||(r=!1)}})),r}var Td=E,Cd=q,Dd=["areaStyle","lineStyle","nodeStyle","linkStyle","chordStyle","label","labelLine"];function Ad(t){var e=t&&t.itemStyle;if(e)for(var n=0,i=Dd.length;n=0;g--){var y=t[g];if(s||(p=y.data.rawIndexOf(y.stackedByDimension,c)),p>=0){var v=y.data.getByRawIndex(y.stackResultDimension,p);if("all"===l||"positive"===l&&v>0||"negative"===l&&v<0||"samesign"===l&&d>=0&&v>0||"samesign"===l&&d<=0&&v<0){d=ro(d,v),f=v;break}}}return i[0]=d,i[1]=f,i}))}))}var Zd,jd,qd,Kd,$d,Jd=function(t){this.data=t.data||(t.sourceFormat===Xp?{}:[]),this.sourceFormat=t.sourceFormat||Zp,this.seriesLayoutBy=t.seriesLayoutBy||jp,this.startIndex=t.startIndex||0,this.dimensionsDetectedCount=t.dimensionsDetectedCount,this.metaRawOption=t.metaRawOption;var e=this.dimensionsDefine=t.dimensionsDefine;if(e)for(var n=0;nu&&(u=d)}s[0]=l,s[1]=u}},i=function(){return this._data?this._data.length/this._dimSize:0};function r(t){for(var e=0;e=0&&(s=o.interpolatedValue[l])}return null!=s?s+"":""})):void 0},t.prototype.getRawValue=function(t,e){return mf(this.getData(e),t)},t.prototype.formatTooltip=function(t,e,n){},t}();function bf(t){var e,n;return q(t)?t.type&&(n=t):e=t,{text:e,frag:n}}function wf(t){return new Sf(t)}var Sf=function(){function t(t){t=t||{},this._reset=t.reset,this._plan=t.plan,this._count=t.count,this._onDirty=t.onDirty,this._dirty=!0}return t.prototype.perform=function(t){var e,n=this._upstream,i=t&&t.skip;if(this._dirty&&n){var r=this.context;r.data=r.outputData=n.context.outputData}this.__pipeline&&(this.__pipeline.currentTask=this),this._plan&&!i&&(e=this._plan(this.context));var o,a=h(this._modBy),s=this._modDataCount||0,l=h(t&&t.modBy),u=t&&t.modDataCount||0;function h(t){return!(t>=1)&&(t=1),t}a===l&&s===u||(e="reset"),(this._dirty||"reset"===e)&&(this._dirty=!1,o=this._doReset(i)),this._modBy=l,this._modDataCount=u;var c=t&&t.step;if(this._dueEnd=n?n._outputDueEnd:this._count?this._count(this.context):1/0,this._progress){var p=this._dueIndex,d=Math.min(null!=c?this._dueIndex+c:1/0,this._dueEnd);if(!i&&(o||p1&&i>0?s:a}};return o;function a(){return e=t?null:oe},gte:function(t,e){return t>=e}},Af=function(){function t(t,e){if(!j(e)){var n="";0,wo(n)}this._opFn=Df[t],this._rvalFloat=yo(e)}return t.prototype.evaluate=function(t){return j(t)?this._opFn(t,this._rvalFloat):this._opFn(yo(t),this._rvalFloat)},t}(),kf=function(){function t(t,e){var n="desc"===t;this._resultLT=n?1:-1,null==e&&(e=n?"min":"max"),this._incomparable="min"===e?-1/0:1/0}return t.prototype.evaluate=function(t,e){var n=j(t)?t:yo(t),i=j(e)?e:yo(e),r=isNaN(n),o=isNaN(i);if(r&&(n=this._incomparable),o&&(i=this._incomparable),r&&o){var a=U(t),s=U(e);a&&(n=s?t:0),s&&(i=a?e:0)}return ni?-this._resultLT:0},t}(),Lf=function(){function t(t,e){this._rval=e,this._isEQ=t,this._rvalTypeof=typeof e,this._rvalFloat=yo(e)}return t.prototype.evaluate=function(t){var e=t===this._rval;if(!e){var n=typeof t;n===this._rvalTypeof||"number"!==n&&"number"!==this._rvalTypeof||(e=yo(t)===this._rvalFloat)}return this._isEQ?e:!e},t}();function Pf(t,e){return"eq"===t||"ne"===t?new Lf("eq"===t,e):_t(Df,t)?new Af(t,e):null}var Of=function(){function t(){}return t.prototype.getRawData=function(){throw new Error("not supported")},t.prototype.getRawDataItem=function(t){throw new Error("not supported")},t.prototype.cloneRawData=function(){},t.prototype.getDimensionInfo=function(t){},t.prototype.cloneAllDimensionInfo=function(){},t.prototype.count=function(){},t.prototype.retrieveValue=function(t,e){},t.prototype.retrieveValueFromItem=function(t,e){},t.prototype.convertValue=function(t,e){return If(t,e)},t}();function Rf(t){var e=t.sourceFormat;if(!Ff(e)){var n="";0,wo(n)}return t.data}function Nf(t){var e=t.sourceFormat,n=t.data;if(!Ff(e)){var i="";0,wo(i)}if(e===Hp){for(var r=[],o=0,a=n.length;o65535?Hf:Yf}function qf(t,e,n,i,r){var o=Zf[n||"float"];if(r){var a=t[e],s=a&&a.length;if(s!==i){for(var l=new o(i),u=0;ug[1]&&(g[1]=f)}return this._rawCount=this._count=s,{start:a,end:s}},t.prototype._initDataFromProvider=function(t,e,n){for(var i=this._provider,r=this._chunks,o=this._dimensions,a=o.length,s=this._rawExtent,l=z(o,(function(t){return t.property})),u=0;uy[1]&&(y[1]=g)}}!i.persistent&&i.clean&&i.clean(),this._rawCount=this._count=e,this._extent=[]},t.prototype.count=function(){return this._count},t.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,n=e[t];if(null!=n&&nt))return o;r=o-1}}return-1},t.prototype.indicesOfNearest=function(t,e,n){var i=this._chunks[t],r=[];if(!i)return r;null==n&&(n=1/0);for(var o=1/0,a=-1,s=0,l=0,u=this.count();l=0&&a<0)&&(o=c,a=h,s=0),h===a&&(r[s++]=l))}return r.length=s,r},t.prototype.getIndices=function(){var t,e=this._indices;if(e){var n=e.constructor,i=this._count;if(n===Array){t=new n(i);for(var r=0;r=u&&x<=h||isNaN(x))&&(a[s++]=d),d++}p=!0}else if(2===r){f=c[i[0]];var y=c[i[1]],v=t[i[1]][0],m=t[i[1]][1];for(g=0;g=u&&x<=h||isNaN(x))&&(_>=v&&_<=m||isNaN(_))&&(a[s++]=d),d++}p=!0}}if(!p)if(1===r)for(g=0;g=u&&x<=h||isNaN(x))&&(a[s++]=b)}else for(g=0;gt[M][1])&&(w=!1)}w&&(a[s++]=e.getRawIndex(g))}return sy[1]&&(y[1]=g)}}}},t.prototype.lttbDownSample=function(t,e){var n,i,r,o=this.clone([t],!0),a=o._chunks[t],s=this.count(),l=0,u=Math.floor(1/e),h=this.getRawIndex(0),c=new(jf(this._rawCount))(Math.min(2*(Math.ceil(s/u)+2),s));c[l++]=h;for(var p=1;pn&&(n=i,r=I)}M>0&&M<_-x&&(c[l++]=Math.min(S,r),r=Math.max(S,r)),c[l++]=r,h=r}return c[l++]=this.getRawIndex(s-1),o._count=l,o._indices=c,o.getRawIndex=this._getRawIdx,o},t.prototype.downSample=function(t,e,n,i){for(var r=this.clone([t],!0),o=r._chunks,a=[],s=Math.floor(1/e),l=o[t],u=this.count(),h=r._rawExtent[t]=[1/0,-1/0],c=new(jf(this._rawCount))(Math.ceil(u/s)),p=0,d=0;du-d&&(s=u-d,a.length=s);for(var f=0;fh[1]&&(h[1]=y),c[p++]=v}return r._count=p,r._indices=c,r._updateGetRawIdx(),r},t.prototype.each=function(t,e){if(this._count)for(var n=t.length,i=this._chunks,r=0,o=this.count();ra&&(a=l)}return i=[o,a],this._extent[t]=i,i},t.prototype.getRawDataItem=function(t){var e=this.getRawIndex(t);if(this._provider.persistent)return this._provider.getItem(e);for(var n=[],i=this._chunks,r=0;r=0?this._indices[t]:-1},t.prototype._updateGetRawIdx=function(){this.getRawIndex=this._indices?this._getRawIdx:this._getRawIdxIdentity},t.internalField=function(){function t(t,e,n,i){return If(t[i],this._dimensions[i])}Gf={arrayRows:t,objectRows:function(t,e,n,i){return If(t[e],this._dimensions[i])},keyedColumns:t,original:function(t,e,n,i){var r=t&&(null==t.value?t:t.value);return If(r instanceof Array?r[i]:r,this._dimensions[i])},typedArray:function(t,e,n,i){return t[i]}}}(),t}(),$f=function(){function t(t){this._sourceList=[],this._storeList=[],this._upstreamSignList=[],this._versionSignBase=0,this._dirty=!0,this._sourceHost=t}return t.prototype.dirty=function(){this._setLocalSource([],[]),this._storeList=[],this._dirty=!0},t.prototype._setLocalSource=function(t,e){this._sourceList=t,this._upstreamSignList=e,this._versionSignBase++,this._versionSignBase>9e10&&(this._versionSignBase=0)},t.prototype._getVersionSign=function(){return this._sourceHost.uid+"_"+this._versionSignBase},t.prototype.prepareSource=function(){this._isDirty()&&(this._createSource(),this._dirty=!1)},t.prototype._createSource=function(){this._setLocalSource([],[]);var t,e,n=this._sourceHost,i=this._getUpstreamSourceManagers(),r=!!i.length;if(Qf(n)){var o=n,a=void 0,s=void 0,l=void 0;if(r){var u=i[0];u.prepareSource(),a=(l=u.getSource()).data,s=l.sourceFormat,e=[u._getVersionSign()]}else s=$(a=o.get("data",!0))?Up:Wp,e=[];var h=this._getSourceMetaRawOption()||{},c=l&&l.metaRawOption||{},p=rt(h.seriesLayoutBy,c.seriesLayoutBy)||null,d=rt(h.sourceHeader,c.sourceHeader),f=rt(h.dimensions,c.dimensions);t=p!==c.seriesLayoutBy||!!d!=!!c.sourceHeader||f?[tf(a,{seriesLayoutBy:p,sourceHeader:d,dimensions:f},s)]:[]}else{var g=n;if(r){var y=this._applyTransform(i);t=y.sourceList,e=y.upstreamSignList}else{t=[tf(g.get("source",!0),this._getSourceMetaRawOption(),null)],e=[]}}this._setLocalSource(t,e)},t.prototype._applyTransform=function(t){var e,n=this._sourceHost,i=n.get("transform",!0),r=n.get("fromTransformResult",!0);if(null!=r){var o="";1!==t.length&&tg(o)}var a,s=[],l=[];return E(t,(function(t){t.prepareSource();var e=t.getSource(r||0),n="";null==r||e||tg(n),s.push(e),l.push(t._getVersionSign())})),i?e=function(t,e,n){var i=To(t),r=i.length,o="";r||wo(o);for(var a=0,s=r;a1||n>0&&!t.noHeader;return E(t.blocks,(function(t){var n=lg(t);n>=e&&(e=n+ +(i&&(!n||ag(t)&&!t.noHeader)))})),e}return 0}function ug(t,e,n,i){var r,o=e.noHeader,a=(r=lg(e),{html:ig[r],richText:rg[r]}),s=[],l=e.blocks||[];lt(!l||Y(l)),l=l||[];var u=t.orderMode;if(e.sortBlocks&&u){l=l.slice();var h={valueAsc:"asc",valueDesc:"desc"};if(_t(h,u)){var c=new kf(h[u],null);l.sort((function(t,e){return c.evaluate(t.sortParam,e.sortParam)}))}else"seriesDesc"===u&&l.reverse()}E(l,(function(n,r){var o=e.valueFormatter,l=sg(n)(o?A(A({},t),{valueFormatter:o}):t,n,r>0?a.html:0,i);null!=l&&s.push(l)}));var p="richText"===t.renderMode?s.join(a.richText):pg(s.join(""),o?n:a.html);if(o)return p;var d=mp(e.header,"ordinal",t.useUTC),f=ng(i,t.renderMode).nameStyle;return"richText"===t.renderMode?dg(t,d,f)+a.richText+p:pg('
'+re(d)+"
"+p,n)}function hg(t,e,n,i){var r=t.renderMode,o=e.noName,a=e.noValue,s=!e.markerType,l=e.name,u=t.useUTC,h=e.valueFormatter||t.valueFormatter||function(t){return z(t=Y(t)?t:[t],(function(t,e){return mp(t,Y(d)?d[e]:d,u)}))};if(!o||!a){var c=s?"":t.markupStyleCreator.makeTooltipMarker(e.markerType,e.markerColor||"#333",r),p=o?"":mp(l,"ordinal",u),d=e.valueType,f=a?[]:h(e.value,e.dataIndex),g=!s||!o,y=!s&&o,v=ng(i,r),m=v.nameStyle,x=v.valueStyle;return"richText"===r?(s?"":c)+(o?"":dg(t,p,m))+(a?"":function(t,e,n,i,r){var o=[r],a=i?10:20;return n&&o.push({padding:[0,0,0,a],align:"right"}),t.markupStyleCreator.wrapRichTextStyle(Y(e)?e.join(" "):e,o)}(t,f,g,y,x)):pg((s?"":c)+(o?"":function(t,e,n){return''+re(t)+""}(p,!s,m))+(a?"":function(t,e,n,i){var r=n?"10px":"20px",o=e?"float:right;margin-left:"+r:"";return t=Y(t)?t:[t],''+z(t,(function(t){return re(t)})).join("  ")+""}(f,g,y,x)),n)}}function cg(t,e,n,i,r,o){if(t)return sg(t)({useUTC:r,renderMode:n,orderMode:i,markupStyleCreator:e,valueFormatter:t.valueFormatter},t,0,o)}function pg(t,e){return'
'+t+'
'}function dg(t,e,n){return t.markupStyleCreator.wrapRichTextStyle(e,n)}function fg(t,e){return Sp(t.getData().getItemVisual(e,"style")[t.visualDrawType])}function gg(t,e){var n=t.get("padding");return null!=n?n:"richText"===e?[8,10]:10}var yg=function(){function t(){this.richTextStyles={},this._nextStyleNameId=mo()}return t.prototype._generateStyleName=function(){return"__EC_aUTo_"+this._nextStyleNameId++},t.prototype.makeTooltipMarker=function(t,e,n){var i="richText"===n?this._generateStyleName():null,r=wp({color:e,type:t,renderMode:n,markerId:i});return U(r)?r:(this.richTextStyles[i]=r.style,r.content)},t.prototype.wrapRichTextStyle=function(t,e){var n={};Y(e)?E(e,(function(t){return A(n,t)})):A(n,e);var i=this._generateStyleName();return this.richTextStyles[i]=n,"{"+i+"|"+t+"}"},t}();function vg(t){var e,n,i,r,o=t.series,a=t.dataIndex,s=t.multipleSeries,l=o.getData(),u=l.mapDimensionsAll("defaultedTooltip"),h=u.length,c=o.getRawValue(a),p=Y(c),d=fg(o,a);if(h>1||p&&!h){var f=function(t,e,n,i,r){var o=e.getData(),a=V(t,(function(t,e,n){var i=o.getDimensionInfo(n);return t||i&&!1!==i.tooltip&&null!=i.displayName}),!1),s=[],l=[],u=[];function h(t,e){var n=o.getDimensionInfo(e);n&&!1!==n.otherDims.tooltip&&(a?u.push(og("nameValue",{markerType:"subItem",markerColor:r,name:n.displayName,value:t,valueType:n.type})):(s.push(t),l.push(n.type)))}return i.length?E(i,(function(t){h(mf(o,n,t),t)})):E(t,h),{inlineValues:s,inlineValueTypes:l,blocks:u}}(c,o,a,u,d);e=f.inlineValues,n=f.inlineValueTypes,i=f.blocks,r=f.inlineValues[0]}else if(h){var g=l.getDimensionInfo(u[0]);r=e=mf(l,a,u[0]),n=g.type}else r=e=p?c[0]:c;var y=No(o),v=y&&o.name||"",m=l.getName(a),x=s?v:m;return og("section",{header:v,noHeader:s||!y,sortParam:r,blocks:[og("nameValue",{markerType:"item",markerColor:d,name:x,noName:!ut(x),value:e,valueType:n,dataIndex:a})].concat(i||[])})}var mg=Vo();function xg(t,e){return t.getName(e)||t.getId(e)}var _g="__universalTransitionEnabled",bg=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e._selectedDataIndicesMap={},e}return n(e,t),e.prototype.init=function(t,e,n){this.seriesIndex=this.componentIndex,this.dataTask=wf({count:Sg,reset:Mg}),this.dataTask.context={model:this},this.mergeDefaultAndTheme(t,n),(mg(this).sourceManager=new $f(this)).prepareSource();var i=this.getInitialData(t,n);Tg(i,this),this.dataTask.context.data=i,mg(this).dataBeforeProcessed=i,wg(this),this._initSelectedMapFromData(i)},e.prototype.mergeDefaultAndTheme=function(t,e){var n=Pp(this),i=n?Rp(t):{},r=this.subType;zp.hasClass(r)&&(r+="Series"),C(t,e.getTheme().get(this.subType)),C(t,this.getDefaultOption()),Co(t,"label",["show"]),this.fillDataTextStyle(t.data),n&&Op(t,i,n)},e.prototype.mergeOption=function(t,e){t=C(this.option,t,!0),this.fillDataTextStyle(t.data);var n=Pp(this);n&&Op(this.option,t,n);var i=mg(this).sourceManager;i.dirty(),i.prepareSource();var r=this.getInitialData(t,e);Tg(r,this),this.dataTask.dirty(),this.dataTask.context.data=r,mg(this).dataBeforeProcessed=r,wg(this),this._initSelectedMapFromData(r)},e.prototype.fillDataTextStyle=function(t){if(t&&!$(t))for(var e=["show"],n=0;nthis.getShallow("animationThreshold")&&(e=!1),!!e},e.prototype.restoreData=function(){this.dataTask.dirty()},e.prototype.getColorFromPalette=function(t,e,n){var i=this.ecModel,r=cd.prototype.getColorFromPalette.call(this,t,e,n);return r||(r=i.getColorFromPalette(t,e,n)),r},e.prototype.coordDimToDataDim=function(t){return this.getRawData().mapDimensionsAll(t)},e.prototype.getProgressive=function(){return this.get("progressive")},e.prototype.getProgressiveThreshold=function(){return this.get("progressiveThreshold")},e.prototype.select=function(t,e){this._innerSelect(this.getData(e),t)},e.prototype.unselect=function(t,e){var n=this.option.selectedMap;if(n){var i=this.option.selectedMode,r=this.getData(e);if("series"===i||"all"===n)return this.option.selectedMap={},void(this._selectedDataIndicesMap={});for(var o=0;o=0&&n.push(r)}return n},e.prototype.isSelected=function(t,e){var n=this.option.selectedMap;if(!n)return!1;var i=this.getData(e);return("all"===n||n[xg(i,t)])&&!i.getItemModel(t).get(["select","disabled"])},e.prototype.isUniversalTransitionEnabled=function(){if(this[_g])return!0;var t=this.option.universalTransition;return!!t&&(!0===t||t&&t.enabled)},e.prototype._innerSelect=function(t,e){var n,i,r=this.option,o=r.selectedMode,a=e.length;if(o&&a)if("series"===o)r.selectedMap="all";else if("multiple"===o){q(r.selectedMap)||(r.selectedMap={});for(var s=r.selectedMap,l=0;l0&&this._innerSelect(t,e)}},e.registerClass=function(t){return zp.registerClass(t)},e.protoInitialize=function(){var t=e.prototype;t.type="series.__base__",t.seriesIndex=0,t.ignoreStyleOnData=!1,t.hasSymbolVisual=!1,t.defaultSymbol="circle",t.visualStyleAccessPath="itemStyle",t.visualDrawType="fill"}(),e}(zp);function wg(t){var e=t.name;No(t)||(t.name=function(t){var e=t.getRawData(),n=e.mapDimensionsAll("seriesName"),i=[];return E(n,(function(t){var n=e.getDimensionInfo(t);n.displayName&&i.push(n.displayName)})),i.join(" ")}(t)||e)}function Sg(t){return t.model.getRawData().count()}function Mg(t){var e=t.model;return e.setData(e.getRawData().cloneShallow()),Ig}function Ig(t,e){e.outputData&&t.end>e.outputData.count()&&e.model.getRawData().cloneShallow(e.outputData)}function Tg(t,e){E(vt(t.CHANGABLE_METHODS,t.DOWNSAMPLE_METHODS),(function(n){t.wrapMethod(n,H(Cg,e))}))}function Cg(t,e){var n=Dg(t);return n&&n.setOutputEnd((e||this).count()),e}function Dg(t){var e=(t.ecModel||{}).scheduler,n=e&&e.getPipeline(t.uid);if(n){var i=n.currentTask;if(i){var r=i.agentStubMap;r&&(i=r.get(t.uid))}return i}}R(bg,_f),R(bg,cd),Jo(bg,zp);var Ag=function(){function t(){this.group=new Br,this.uid=Ac("viewComponent")}return t.prototype.init=function(t,e){},t.prototype.render=function(t,e,n,i){},t.prototype.dispose=function(t,e){},t.prototype.updateView=function(t,e,n,i){},t.prototype.updateLayout=function(t,e,n,i){},t.prototype.updateVisual=function(t,e,n,i){},t.prototype.toggleBlurSeries=function(t,e,n){},t.prototype.eachRendered=function(t){var e=this.group;e&&e.traverse(t)},t}();function kg(){var t=Vo();return function(e){var n=t(e),i=e.pipelineContext,r=!!n.large,o=!!n.progressiveRender,a=n.large=!(!i||!i.large),s=n.progressiveRender=!(!i||!i.progressiveRender);return!(r===a&&o===s)&&"reset"}}$o(Ag),na(Ag);var Lg=Vo(),Pg=kg(),Og=function(){function t(){this.group=new Br,this.uid=Ac("viewChart"),this.renderTask=wf({plan:Eg,reset:zg}),this.renderTask.context={view:this}}return t.prototype.init=function(t,e){},t.prototype.render=function(t,e,n,i){0},t.prototype.highlight=function(t,e,n,i){var r=t.getData(i&&i.dataType);r&&Ng(r,i,"emphasis")},t.prototype.downplay=function(t,e,n,i){var r=t.getData(i&&i.dataType);r&&Ng(r,i,"normal")},t.prototype.remove=function(t,e){this.group.removeAll()},t.prototype.dispose=function(t,e){},t.prototype.updateView=function(t,e,n,i){this.render(t,e,n,i)},t.prototype.updateLayout=function(t,e,n,i){this.render(t,e,n,i)},t.prototype.updateVisual=function(t,e,n,i){this.render(t,e,n,i)},t.prototype.eachRendered=function(t){Jh(this.group,t)},t.markUpdateMethod=function(t,e){Lg(t).updateMethod=e},t.protoInitialize=void(t.prototype.type="chart"),t}();function Rg(t,e,n){t&&Ql(t)&&("emphasis"===e?Ol:Rl)(t,n)}function Ng(t,e,n){var i=zo(t,e),r=e&&null!=e.highlightKey?function(t){var e=sl[t];return null==e&&al<=32&&(e=sl[t]=al++),e}(e.highlightKey):null;null!=i?E(To(i),(function(e){Rg(t.getItemGraphicEl(e),n,r)})):t.eachItemGraphicEl((function(t){Rg(t,n,r)}))}function Eg(t){return Pg(t.model)}function zg(t){var e=t.model,n=t.ecModel,i=t.api,r=t.payload,o=e.pipelineContext.progressiveRender,a=t.view,s=r&&Lg(r).updateMethod,l=o?"incrementalPrepareRender":s&&a[s]?s:"render";return"render"!==l&&a[l](e,n,i,r),Vg[l]}$o(Og),na(Og);var Vg={incrementalPrepareRender:{progress:function(t,e){e.view.incrementalRender(t,e.model,e.ecModel,e.api,e.payload)}},render:{forceFirstProgress:!0,progress:function(t,e){e.view.render(e.model,e.ecModel,e.api,e.payload)}}},Bg="\0__throttleOriginMethod",Fg="\0__throttleRate",Gg="\0__throttleType";function Wg(t,e,n){var i,r,o,a,s,l=0,u=0,h=null;function c(){u=(new Date).getTime(),h=null,t.apply(o,a||[])}e=e||0;var p=function(){for(var t=[],p=0;p=0?c():h=setTimeout(c,-r),l=i};return p.clear=function(){h&&(clearTimeout(h),h=null)},p.debounceNextCall=function(t){s=t},p}function Hg(t,e,n,i){var r=t[e];if(r){var o=r[Bg]||r,a=r[Gg];if(r[Fg]!==n||a!==i){if(null==n||!i)return t[e]=o;(r=t[e]=Wg(o,n,"debounce"===i))[Bg]=o,r[Gg]=i,r[Fg]=n}return r}}function Yg(t,e){var n=t[e];n&&n[Bg]&&(n.clear&&n.clear(),t[e]=n[Bg])}var Xg=Vo(),Ug={itemStyle:ia(Mc,!0),lineStyle:ia(bc,!0)},Zg={lineStyle:"stroke",itemStyle:"fill"};function jg(t,e){var n=t.visualStyleMapper||Ug[e];return n||(console.warn("Unknown style type '"+e+"'."),Ug.itemStyle)}function qg(t,e){var n=t.visualDrawType||Zg[e];return n||(console.warn("Unknown style type '"+e+"'."),"fill")}var Kg={createOnAllSeries:!0,performRawSeries:!0,reset:function(t,e){var n=t.getData(),i=t.visualStyleAccessPath||"itemStyle",r=t.getModel(i),o=jg(t,i)(r),a=r.getShallow("decal");a&&(n.setVisual("decal",a),a.dirty=!0);var s=qg(t,i),l=o[s],u=X(l)?l:null,h="auto"===o.fill||"auto"===o.stroke;if(!o[s]||u||h){var c=t.getColorFromPalette(t.name,null,e.getSeriesCount());o[s]||(o[s]=c,n.setVisual("colorFromPalette",!0)),o.fill="auto"===o.fill||X(o.fill)?c:o.fill,o.stroke="auto"===o.stroke||X(o.stroke)?c:o.stroke}if(n.setVisual("style",o),n.setVisual("drawType",s),!e.isSeriesFiltered(t)&&u)return n.setVisual("colorFromPalette",!1),{dataEach:function(e,n){var i=t.getDataParams(n),r=A({},o);r[s]=u(i),e.setItemVisual(n,"style",r)}}}},$g=new Cc,Jg={createOnAllSeries:!0,performRawSeries:!0,reset:function(t,e){if(!t.ignoreStyleOnData&&!e.isSeriesFiltered(t)){var n=t.getData(),i=t.visualStyleAccessPath||"itemStyle",r=jg(t,i),o=n.getVisual("drawType");return{dataEach:n.hasItemOption?function(t,e){var n=t.getRawDataItem(e);if(n&&n[i]){$g.option=n[i];var a=r($g);A(t.ensureUniqueItemVisual(e,"style"),a),$g.option.decal&&(t.setItemVisual(e,"decal",$g.option.decal),$g.option.decal.dirty=!0),o in a&&t.setItemVisual(e,"colorFromPalette",!1)}}:null}}}},Qg={performRawSeries:!0,overallReset:function(t){var e=yt();t.eachSeries((function(t){var n=t.getColorBy();if(!t.isColorBySeries()){var i=t.type+"-"+n,r=e.get(i);r||(r={},e.set(i,r)),Xg(t).scope=r}})),t.eachSeries((function(e){if(!e.isColorBySeries()&&!t.isSeriesFiltered(e)){var n=e.getRawData(),i={},r=e.getData(),o=Xg(e).scope,a=e.visualStyleAccessPath||"itemStyle",s=qg(e,a);r.each((function(t){var e=r.getRawIndex(t);i[e]=t})),n.each((function(t){var a=i[t];if(r.getItemVisual(a,"colorFromPalette")){var l=r.ensureUniqueItemVisual(a,"style"),u=n.getName(t)||t+"",h=n.count();l[s]=e.getColorFromPalette(u,o,h)}}))}}))}},ty=Math.PI;var ey=function(){function t(t,e,n,i){this._stageTaskMap=yt(),this.ecInstance=t,this.api=e,n=this._dataProcessorHandlers=n.slice(),i=this._visualHandlers=i.slice(),this._allHandlers=n.concat(i)}return t.prototype.restoreData=function(t,e){t.restoreData(e),this._stageTaskMap.each((function(t){var e=t.overallTask;e&&e.dirty()}))},t.prototype.getPerformArgs=function(t,e){if(t.__pipeline){var n=this._pipelineMap.get(t.__pipeline.id),i=n.context,r=!e&&n.progressiveEnabled&&(!i||i.progressiveRender)&&t.__idxInPipeline>n.blockIndex?n.step:null,o=i&&i.modDataCount;return{step:r,modBy:null!=o?Math.ceil(o/r):null,modDataCount:o}}},t.prototype.getPipeline=function(t){return this._pipelineMap.get(t)},t.prototype.updateStreamModes=function(t,e){var n=this._pipelineMap.get(t.uid),i=t.getData().count(),r=n.progressiveEnabled&&e.incrementalPrepareRender&&i>=n.threshold,o=t.get("large")&&i>=t.get("largeThreshold"),a="mod"===t.get("progressiveChunkMode")?i:null;t.pipelineContext=n.context={progressiveRender:r,modDataCount:a,large:o}},t.prototype.restorePipelines=function(t){var e=this,n=e._pipelineMap=yt();t.eachSeries((function(t){var i=t.getProgressive(),r=t.uid;n.set(r,{id:r,head:null,tail:null,threshold:t.getProgressiveThreshold(),progressiveEnabled:i&&!(t.preventIncremental&&t.preventIncremental()),blockIndex:-1,step:Math.round(i||700),count:0}),e._pipe(t,t.dataTask)}))},t.prototype.prepareStageTasks=function(){var t=this._stageTaskMap,e=this.api.getModel(),n=this.api;E(this._allHandlers,(function(i){var r=t.get(i.uid)||t.set(i.uid,{}),o="";lt(!(i.reset&&i.overallReset),o),i.reset&&this._createSeriesStageTask(i,r,e,n),i.overallReset&&this._createOverallStageTask(i,r,e,n)}),this)},t.prototype.prepareView=function(t,e,n,i){var r=t.renderTask,o=r.context;o.model=e,o.ecModel=n,o.api=i,r.__block=!t.incrementalPrepareRender,this._pipe(e,r)},t.prototype.performDataProcessorTasks=function(t,e){this._performStageTasks(this._dataProcessorHandlers,t,e,{block:!0})},t.prototype.performVisualTasks=function(t,e,n){this._performStageTasks(this._visualHandlers,t,e,n)},t.prototype._performStageTasks=function(t,e,n,i){i=i||{};var r=!1,o=this;function a(t,e){return t.setDirty&&(!t.dirtyMap||t.dirtyMap.get(e.__pipeline.id))}E(t,(function(t,s){if(!i.visualType||i.visualType===t.visualType){var l=o._stageTaskMap.get(t.uid),u=l.seriesTaskMap,h=l.overallTask;if(h){var c,p=h.agentStubMap;p.each((function(t){a(i,t)&&(t.dirty(),c=!0)})),c&&h.dirty(),o.updatePayload(h,n);var d=o.getPerformArgs(h,i.block);p.each((function(t){t.perform(d)})),h.perform(d)&&(r=!0)}else u&&u.each((function(s,l){a(i,s)&&s.dirty();var u=o.getPerformArgs(s,i.block);u.skip=!t.performRawSeries&&e.isSeriesFiltered(s.context.model),o.updatePayload(s,n),s.perform(u)&&(r=!0)}))}})),this.unfinished=r||this.unfinished},t.prototype.performSeriesTasks=function(t){var e;t.eachSeries((function(t){e=t.dataTask.perform()||e})),this.unfinished=e||this.unfinished},t.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)}))},t.prototype.updatePayload=function(t,e){"remain"!==e&&(t.context.payload=e)},t.prototype._createSeriesStageTask=function(t,e,n,i){var r=this,o=e.seriesTaskMap,a=e.seriesTaskMap=yt(),s=t.seriesType,l=t.getTargetSeries;function u(e){var s=e.uid,l=a.set(s,o&&o.get(s)||wf({plan:ay,reset:sy,count:hy}));l.context={model:e,ecModel:n,api:i,useClearVisual:t.isVisual&&!t.isLayout,plan:t.plan,reset:t.reset,scheduler:r},r._pipe(e,l)}t.createOnAllSeries?n.eachRawSeries(u):s?n.eachRawSeriesByType(s,u):l&&l(n,i).each(u)},t.prototype._createOverallStageTask=function(t,e,n,i){var r=this,o=e.overallTask=e.overallTask||wf({reset:ny});o.context={ecModel:n,api:i,overallReset:t.overallReset,scheduler:r};var a=o.agentStubMap,s=o.agentStubMap=yt(),l=t.seriesType,u=t.getTargetSeries,h=!0,c=!1,p="";function d(t){var e=t.uid,n=s.set(e,a&&a.get(e)||(c=!0,wf({reset:iy,onDirty:oy})));n.context={model:t,overallProgress:h},n.agent=o,n.__block=h,r._pipe(t,n)}lt(!t.createOnAllSeries,p),l?n.eachRawSeriesByType(l,d):u?u(n,i).each(d):(h=!1,E(n.getSeries(),d)),c&&o.dirty()},t.prototype._pipe=function(t,e){var n=t.uid,i=this._pipelineMap.get(n);!i.head&&(i.head=e),i.tail&&i.tail.pipe(e),i.tail=e,e.__idxInPipeline=i.count++,e.__pipeline=i},t.wrapStageHandler=function(t,e){return X(t)&&(t={overallReset:t,seriesType:cy(t)}),t.uid=Ac("stageHandler"),e&&(t.visualType=e),t},t}();function ny(t){t.overallReset(t.ecModel,t.api,t.payload)}function iy(t){return t.overallProgress&&ry}function ry(){this.agent.dirty(),this.getDownstream().dirty()}function oy(){this.agent&&this.agent.dirty()}function ay(t){return t.plan?t.plan(t.model,t.ecModel,t.api,t.payload):null}function sy(t){t.useClearVisual&&t.data.clearAllVisual();var e=t.resetDefines=To(t.reset(t.model,t.ecModel,t.api,t.payload));return e.length>1?z(e,(function(t,e){return uy(e)})):ly}var ly=uy(0);function uy(t){return function(e,n){var i=n.data,r=n.resetDefines[t];if(r&&r.dataEach)for(var o=e.start;o0&&h===r.length-u.length){var c=r.slice(0,h);"data"!==c&&(e.mainType=c,e[u.toLowerCase()]=t,s=!0)}}a.hasOwnProperty(r)&&(n[r]=t,s=!0),s||(i[r]=t)}))}return{cptQuery:e,dataQuery:n,otherQuery:i}},t.prototype.filter=function(t,e){var n=this.eventInfo;if(!n)return!0;var i=n.targetEl,r=n.packedEvent,o=n.model,a=n.view;if(!o||!a)return!0;var s=e.cptQuery,l=e.dataQuery;return u(s,o,"mainType")&&u(s,o,"subType")&&u(s,o,"index","componentIndex")&&u(s,o,"name")&&u(s,o,"id")&&u(l,r,"name")&&u(l,r,"dataIndex")&&u(l,r,"dataType")&&(!a.filterForExposedEvent||a.filterForExposedEvent(t,e.otherQuery,i,r));function u(t,e,n,i){return null==t[n]||e[i||n]===t[n]}},t.prototype.afterTrigger=function(){this.eventInfo=null},t}(),My=["symbol","symbolSize","symbolRotate","symbolOffset"],Iy=My.concat(["symbolKeepAspect"]),Ty={createOnAllSeries:!0,performRawSeries:!0,reset:function(t,e){var n=t.getData();if(t.legendIcon&&n.setVisual("legendIcon",t.legendIcon),t.hasSymbolVisual){for(var i={},r={},o=!1,a=0;a=0&&jy(l)?l:.5,t.createRadialGradient(a,s,0,a,s,l)}(t,e,n):function(t,e,n){var i=null==e.x?0:e.x,r=null==e.x2?1:e.x2,o=null==e.y?0:e.y,a=null==e.y2?0:e.y2;return e.global||(i=i*n.width+n.x,r=r*n.width+n.x,o=o*n.height+n.y,a=a*n.height+n.y),i=jy(i)?i:0,r=jy(r)?r:1,o=jy(o)?o:0,a=jy(a)?a:0,t.createLinearGradient(i,o,r,a)}(t,e,n),r=e.colorStops,o=0;o0&&(e=i.lineDash,n=i.lineWidth,e&&"solid"!==e&&n>0?"dashed"===e?[4*n,2*n]:"dotted"===e?[n]:j(e)?[e]:Y(e)?e:null:null),o=i.lineDashOffset;if(r){var a=i.strokeNoScale&&t.getLineScale?t.getLineScale():1;a&&1!==a&&(r=z(r,(function(t){return t/a})),o/=a)}return[r,o]}var Qy=new hs(!0);function tv(t){var e=t.stroke;return!(null==e||"none"===e||!(t.lineWidth>0))}function ev(t){return"string"==typeof t&&"none"!==t}function nv(t){var e=t.fill;return null!=e&&"none"!==e}function iv(t,e){if(null!=e.fillOpacity&&1!==e.fillOpacity){var n=t.globalAlpha;t.globalAlpha=e.fillOpacity*e.opacity,t.fill(),t.globalAlpha=n}else t.fill()}function rv(t,e){if(null!=e.strokeOpacity&&1!==e.strokeOpacity){var n=t.globalAlpha;t.globalAlpha=e.strokeOpacity*e.opacity,t.stroke(),t.globalAlpha=n}else t.stroke()}function ov(t,e,n){var i=la(e.image,e.__image,n);if(ha(i)){var r=t.createPattern(i,e.repeat||"repeat");if("function"==typeof DOMMatrix&&r&&r.setTransform){var o=new DOMMatrix;o.translateSelf(e.x||0,e.y||0),o.rotateSelf(0,0,(e.rotation||0)*wt),o.scaleSelf(e.scaleX||1,e.scaleY||1),r.setTransform(o)}return r}}var av=["shadowBlur","shadowOffsetX","shadowOffsetY"],sv=[["lineCap","butt"],["lineJoin","miter"],["miterLimit",10]];function lv(t,e,n,i,r){var o=!1;if(!i&&e===(n=n||{}))return!1;if(i||e.opacity!==n.opacity){cv(t,r),o=!0;var a=Math.max(Math.min(e.opacity,1),0);t.globalAlpha=isNaN(a)?Ma.opacity:a}(i||e.blend!==n.blend)&&(o||(cv(t,r),o=!0),t.globalCompositeOperation=e.blend||Ma.blend);for(var s=0;s0&&t.unfinished);t.unfinished||this._zr.flush()}}},e.prototype.getDom=function(){return this._dom},e.prototype.getId=function(){return this.id},e.prototype.getZr=function(){return this._zr},e.prototype.isSSR=function(){return this._ssr},e.prototype.setOption=function(t,e,n){if(!this[Dv])if(this._disposed)om(this.id);else{var i,r,o;if(q(e)&&(n=e.lazyUpdate,i=e.silent,r=e.replaceMerge,o=e.transition,e=e.notMerge),this[Dv]=!0,!this._model||e){var a=new Md(this._api),s=this._theme,l=this._model=new gd;l.scheduler=this._scheduler,l.ssr=this._ssr,l.init(null,null,null,s,this._locale,a)}this._model.setOption(t,{replaceMerge:r},um);var u={seriesTransition:o,optionChanged:!0};if(n)this[Av]={silent:i,updateParams:u},this[Dv]=!1,this.getZr().wakeUp();else{try{Ev(this),Bv.update.call(this,null,u)}catch(t){throw this[Av]=null,this[Dv]=!1,t}this._ssr||this._zr.flush(),this[Av]=null,this[Dv]=!1,Hv.call(this,i),Yv.call(this,i)}}},e.prototype.setTheme=function(){bo()},e.prototype.getModel=function(){return this._model},e.prototype.getOption=function(){return this._model&&this._model.getOption()},e.prototype.getWidth=function(){return this._zr.getWidth()},e.prototype.getHeight=function(){return this._zr.getHeight()},e.prototype.getDevicePixelRatio=function(){return this._zr.painter.dpr||r.hasGlobalWindow&&window.devicePixelRatio||1},e.prototype.getRenderedCanvas=function(t){return this.renderToCanvas(t)},e.prototype.renderToCanvas=function(t){t=t||{};var e=this._zr.painter;return e.getRenderedCanvas({backgroundColor:t.backgroundColor||this._model.get("backgroundColor"),pixelRatio:t.pixelRatio||this.getDevicePixelRatio()})},e.prototype.renderToSVGString=function(t){t=t||{};var e=this._zr.painter;return e.renderToString({useViewBox:t.useViewBox})},e.prototype.getSvgDataURL=function(){if(r.svgSupported){var t=this._zr;return E(t.storage.getDisplayList(),(function(t){t.stopAnimation(null,!0)})),t.painter.toDataURL()}},e.prototype.getDataURL=function(t){if(!this._disposed){var e=(t=t||{}).excludeComponents,n=this._model,i=[],r=this;E(e,(function(t){n.eachComponent({mainType:t},(function(t){var e=r._componentsMap[t.__viewId];e.group.ignore||(i.push(e),e.group.ignore=!0)}))}));var o="svg"===this._zr.painter.getType()?this.getSvgDataURL():this.renderToCanvas(t).toDataURL("image/"+(t&&t.type||"png"));return E(i,(function(t){t.group.ignore=!1})),o}om(this.id)},e.prototype.getConnectedDataURL=function(t){if(!this._disposed){var e="svg"===t.type,n=this.group,i=Math.min,r=Math.max,o=1/0;if(fm[n]){var a=o,s=o,l=-1/0,u=-1/0,c=[],p=t&&t.pixelRatio||this.getDevicePixelRatio();E(dm,(function(o,h){if(o.group===n){var p=e?o.getZr().painter.getSvgDom().innerHTML:o.renderToCanvas(T(t)),d=o.getDom().getBoundingClientRect();a=i(d.left,a),s=i(d.top,s),l=r(d.right,l),u=r(d.bottom,u),c.push({dom:p,left:d.left,top:d.top})}}));var d=(l*=p)-(a*=p),f=(u*=p)-(s*=p),g=h.createCanvas(),y=Yr(g,{renderer:e?"svg":"canvas"});if(y.resize({width:d,height:f}),e){var v="";return E(c,(function(t){var e=t.left-a,n=t.top-s;v+=''+t.dom+""})),y.painter.getSvgRoot().innerHTML=v,t.connectedBackgroundColor&&y.painter.setBackgroundColor(t.connectedBackgroundColor),y.refreshImmediately(),y.painter.toDataURL()}return t.connectedBackgroundColor&&y.add(new Ws({shape:{x:0,y:0,width:d,height:f},style:{fill:t.connectedBackgroundColor}})),E(c,(function(t){var e=new Ns({style:{x:t.left*p-a,y:t.top*p-s,image:t.dom}});y.add(e)})),y.refreshImmediately(),g.toDataURL("image/"+(t&&t.type||"png"))}return this.getDataURL(t)}om(this.id)},e.prototype.convertToPixel=function(t,e){return Fv(this,"convertToPixel",t,e)},e.prototype.convertFromPixel=function(t,e){return Fv(this,"convertFromPixel",t,e)},e.prototype.containPixel=function(t,e){var n;if(!this._disposed)return E(Fo(this._model,t),(function(t,i){i.indexOf("Models")>=0&&E(t,(function(t){var r=t.coordinateSystem;if(r&&r.containPoint)n=n||!!r.containPoint(e);else if("seriesModels"===i){var o=this._chartsMap[t.__viewId];o&&o.containPoint&&(n=n||o.containPoint(e,t))}else 0}),this)}),this),!!n;om(this.id)},e.prototype.getVisual=function(t,e){var n=Fo(this._model,t,{defaultMainType:"series"}),i=n.seriesModel;var r=i.getData(),o=n.hasOwnProperty("dataIndexInside")?n.dataIndexInside:n.hasOwnProperty("dataIndex")?r.indexOfRawIndex(n.dataIndex):null;return null!=o?Dy(r,o,e):Ay(r,e)},e.prototype.getViewOfComponentModel=function(t){return this._componentsMap[t.__viewId]},e.prototype.getViewOfSeriesModel=function(t){return this._chartsMap[t.__viewId]},e.prototype._initEvents=function(){var t,e,n,i=this;E(rm,(function(t){var e=function(e){var n,r=i.getModel(),o=e.target,a="globalout"===t;if(a?n={}:o&&Oy(o,(function(t){var e=rl(t);if(e&&null!=e.dataIndex){var i=e.dataModel||r.getSeriesByIndex(e.seriesIndex);return n=i&&i.getDataParams(e.dataIndex,e.dataType,o)||{},!0}if(e.eventData)return n=A({},e.eventData),!0}),!0),n){var s=n.componentType,l=n.componentIndex;"markLine"!==s&&"markPoint"!==s&&"markArea"!==s||(s="series",l=n.seriesIndex);var u=s&&null!=l&&r.getComponent(s,l),h=u&&i["series"===u.mainType?"_chartsMap":"_componentsMap"][u.__viewId];0,n.event=e,n.type=t,i._$eventProcessor.eventInfo={targetEl:o,packedEvent:n,model:u,view:h},i.trigger(t,n)}};e.zrEventfulCallAtLast=!0,i._zr.on(t,e,i)})),E(sm,(function(t,e){i._messageCenter.on(e,(function(t){this.trigger(e,t)}),i)})),E(["selectchanged"],(function(t){i._messageCenter.on(t,(function(e){this.trigger(t,e)}),i)})),t=this._messageCenter,e=this,n=this._api,t.on("selectchanged",(function(t){var i=n.getModel();t.isFromClick?(Py("map","selectchanged",e,i,t),Py("pie","selectchanged",e,i,t)):"select"===t.fromAction?(Py("map","selected",e,i,t),Py("pie","selected",e,i,t)):"unselect"===t.fromAction&&(Py("map","unselected",e,i,t),Py("pie","unselected",e,i,t))}))},e.prototype.isDisposed=function(){return this._disposed},e.prototype.clear=function(){this._disposed?om(this.id):this.setOption({series:[]},!0)},e.prototype.dispose=function(){if(this._disposed)om(this.id);else{this._disposed=!0,this.getDom()&&Xo(this.getDom(),vm,"");var t=this,e=t._api,n=t._model;E(t._componentsViews,(function(t){t.dispose(n,e)})),E(t._chartsViews,(function(t){t.dispose(n,e)})),t._zr.dispose(),t._dom=t._model=t._chartsMap=t._componentsMap=t._chartsViews=t._componentsViews=t._scheduler=t._api=t._zr=t._throttledZrFlush=t._theme=t._coordSysMgr=t._messageCenter=null,delete dm[t.id]}},e.prototype.resize=function(t){if(!this[Dv])if(this._disposed)om(this.id);else{this._zr.resize(t);var e=this._model;if(this._loadingFX&&this._loadingFX.resize(),e){var n=e.resetOption("media"),i=t&&t.silent;this[Av]&&(null==i&&(i=this[Av].silent),n=!0,this[Av]=null),this[Dv]=!0;try{n&&Ev(this),Bv.update.call(this,{type:"resize",animation:A({duration:0},t&&t.animation)})}catch(t){throw this[Dv]=!1,t}this[Dv]=!1,Hv.call(this,i),Yv.call(this,i)}}},e.prototype.showLoading=function(t,e){if(this._disposed)om(this.id);else if(q(t)&&(e=t,t=""),t=t||"default",this.hideLoading(),pm[t]){var n=pm[t](this._api,e),i=this._zr;this._loadingFX=n,i.add(n)}},e.prototype.hideLoading=function(){this._disposed?om(this.id):(this._loadingFX&&this._zr.remove(this._loadingFX),this._loadingFX=null)},e.prototype.makeActionFromEvent=function(t){var e=A({},t);return e.type=sm[t.type],e},e.prototype.dispatchAction=function(t,e){if(this._disposed)om(this.id);else if(q(e)||(e={silent:!!e}),am[t.type]&&this._model)if(this[Dv])this._pendingActions.push(t);else{var n=e.silent;Wv.call(this,t,n);var i=e.flush;i?this._zr.flush():!1!==i&&r.browser.weChat&&this._throttledZrFlush(),Hv.call(this,n),Yv.call(this,n)}},e.prototype.updateLabelLayout=function(){wv.trigger("series:layoutlabels",this._model,this._api,{updatedSeries:[]})},e.prototype.appendData=function(t){if(this._disposed)om(this.id);else{var e=t.seriesIndex,n=this.getModel().getSeriesByIndex(e);0,n.appendData(t),this._scheduler.unfinished=!0,this.getZr().wakeUp()}},e.internalField=function(){function t(t){t.clearColorPalette(),t.eachSeries((function(t){t.clearColorPalette()}))}function e(t){for(var e=[],n=t.currentStates,i=0;i0?{duration:o,delay:i.get("delay"),easing:i.get("easing")}:null;n.eachRendered((function(t){if(t.states&&t.states.emphasis){if(xh(t))return;if(t instanceof ks&&function(t){var e=ll(t);e.normalFill=t.style.fill,e.normalStroke=t.style.stroke;var n=t.states.select||{};e.selectFill=n.style&&n.style.fill||null,e.selectStroke=n.style&&n.style.stroke||null}(t),t.__dirty){var n=t.prevStates;n&&t.useStates(n)}if(r){t.stateTransition=a;var i=t.getTextContent(),o=t.getTextGuideLine();i&&(i.stateTransition=a),o&&(o.stateTransition=a)}t.__dirty&&e(t)}}))}Ev=function(t){var e=t._scheduler;e.restorePipelines(t._model),e.prepareStageTasks(),zv(t,!0),zv(t,!1),e.plan()},zv=function(t,e){for(var n=t._model,i=t._scheduler,r=e?t._componentsViews:t._chartsViews,o=e?t._componentsMap:t._chartsMap,a=t._zr,s=t._api,l=0;le.get("hoverLayerThreshold")&&!r.node&&!r.worker&&e.eachSeries((function(e){if(!e.preventUsingHoverLayer){var n=t._chartsMap[e.__viewId];n.__alive&&n.eachRendered((function(t){t.states.emphasis&&(t.states.emphasis.hoverLayer=!0)}))}}))}(t,e),wv.trigger("series:afterupdate",e,n,l)},Jv=function(t){t[kv]=!0,t.getZr().wakeUp()},Qv=function(t){t[kv]&&(t.getZr().storage.traverse((function(t){xh(t)||e(t)})),t[kv]=!1)},Kv=function(t){return new(function(e){function i(){return null!==e&&e.apply(this,arguments)||this}return n(i,e),i.prototype.getCoordinateSystems=function(){return t._coordSysMgr.getCoordinateSystems()},i.prototype.getComponentByElement=function(e){for(;e;){var n=e.__ecComponentInfo;if(null!=n)return t._model.getComponent(n.mainType,n.index);e=e.parent}},i.prototype.enterEmphasis=function(e,n){Ol(e,n),Jv(t)},i.prototype.leaveEmphasis=function(e,n){Rl(e,n),Jv(t)},i.prototype.enterBlur=function(e){Nl(e),Jv(t)},i.prototype.leaveBlur=function(e){El(e),Jv(t)},i.prototype.enterSelect=function(e){zl(e),Jv(t)},i.prototype.leaveSelect=function(e){Vl(e),Jv(t)},i.prototype.getModel=function(){return t.getModel()},i.prototype.getViewOfComponentModel=function(e){return t.getViewOfComponentModel(e)},i.prototype.getViewOfSeriesModel=function(e){return t.getViewOfSeriesModel(e)},i}(_d))(t)},$v=function(t){function e(t,e){for(var n=0;n=0)){Lm.push(n);var o=ey.wrapStageHandler(n,r);o.__prio=e,o.__raw=n,t.push(o)}}function Om(t,e){pm[t]=e}function Rm(t,e,n){var i=Mv("registerMap");i&&i(t,e,n)}var Nm=function(t){var e=(t=T(t)).type,n="";e||wo(n);var i=e.split(":");2!==i.length&&wo(n);var r=!1;"echarts"===i[0]&&(e=i[1],r=!0),t.__isBuiltIn=r,Vf.set(e,t)};km(Iv,Kg),km(Tv,Jg),km(Tv,Qg),km(Iv,Ty),km(Tv,Cy),km(7e3,(function(t,e){t.eachRawSeries((function(n){if(!t.isSeriesFiltered(n)){var i=n.getData();i.hasItemVisual()&&i.each((function(t){var n=i.getItemVisual(t,"decal");n&&(i.ensureUniqueItemVisual(t,"style").decal=mv(n,e))}));var r=i.getVisual("decal");if(r)i.getVisual("style").decal=mv(r,e)}}))})),wm(Xd),Sm(900,(function(t){var e=yt();t.eachSeries((function(t){var n=t.get("stack");if(n){var i=e.get(n)||e.set(n,[]),r=t.getData(),o={stackResultDimension:r.getCalculationInfo("stackResultDimension"),stackedOverDimension:r.getCalculationInfo("stackedOverDimension"),stackedDimension:r.getCalculationInfo("stackedDimension"),stackedByDimension:r.getCalculationInfo("stackedByDimension"),isStackedByIndex:r.getCalculationInfo("isStackedByIndex"),data:r,seriesModel:t};if(!o.stackedDimension||!o.isStackedByIndex&&!o.stackedByDimension)return;i.length&&r.setCalculationInfo("stackedOnSeries",i[i.length-1].seriesModel),i.push(o)}})),e.each(Ud)})),Om("default",(function(t,e){k(e=e||{},{text:"loading",textColor:"#000",fontSize:12,fontWeight:"normal",fontStyle:"normal",fontFamily:"sans-serif",maskColor:"rgba(255, 255, 255, 0.8)",showSpinner:!0,color:"#5470c6",spinnerRadius:10,lineWidth:5,zlevel:0});var n=new Br,i=new Ws({style:{fill:e.maskColor},zlevel:e.zlevel,z:1e4});n.add(i);var r,o=new Xs({style:{text:e.text,fill:e.textColor,fontSize:e.fontSize,fontWeight:e.fontWeight,fontStyle:e.fontStyle,fontFamily:e.fontFamily},zlevel:e.zlevel,z:10001}),a=new Ws({style:{fill:"none"},textContent:o,textConfig:{position:"right",distance:10},zlevel:e.zlevel,z:10001});return n.add(a),e.showSpinner&&((r=new nh({shape:{startAngle:-ty/2,endAngle:-ty/2+.1,r:e.spinnerRadius},style:{stroke:e.color,lineCap:"round",lineWidth:e.lineWidth},zlevel:e.zlevel,z:10001})).animateShape(!0).when(1e3,{endAngle:3*ty/2}).start("circularInOut"),r.animateShape(!0).when(1e3,{startAngle:3*ty/2}).delay(300).start("circularInOut"),n.add(r)),n.resize=function(){var n=o.getBoundingRect().width,s=e.showSpinner?e.spinnerRadius:0,l=(t.getWidth()-2*s-(e.showSpinner&&n?10:0)-n)/2-(e.showSpinner&&n?0:5+n/2)+(e.showSpinner?0:n/2)+(n?0:s),u=t.getHeight()/2;e.showSpinner&&r.setShape({cx:l,cy:u}),a.setShape({x:l-s,y:u-s,width:2*s,height:2*s}),i.setShape({x:0,y:0,width:t.getWidth(),height:t.getHeight()})},n.resize(),n})),Cm({type:dl,event:dl,update:dl},bt),Cm({type:fl,event:fl,update:fl},bt),Cm({type:gl,event:gl,update:gl},bt),Cm({type:yl,event:yl,update:yl},bt),Cm({type:vl,event:vl,update:vl},bt),bm("light",vy),bm("dark",wy);var Em=[],zm={registerPreprocessor:wm,registerProcessor:Sm,registerPostInit:Mm,registerPostUpdate:Im,registerUpdateLifecycle:Tm,registerAction:Cm,registerCoordinateSystem:Dm,registerLayout:Am,registerVisual:km,registerTransform:Nm,registerLoading:Om,registerMap:Rm,registerImpl:function(t,e){Sv[t]=e},PRIORITY:Cv,ComponentModel:zp,ComponentView:Ag,SeriesModel:bg,ChartView:Og,registerComponentModel:function(t){zp.registerClass(t)},registerComponentView:function(t){Ag.registerClass(t)},registerSeriesModel:function(t){bg.registerClass(t)},registerChartView:function(t){Og.registerClass(t)},registerSubTypeDefaulter:function(t,e){zp.registerSubTypeDefaulter(t,e)},registerPainter:function(t,e){Xr(t,e)}};function Vm(t){Y(t)?E(t,(function(t){Vm(t)})):P(Em,t)>=0||(Em.push(t),X(t)&&(t={install:t}),t.install(zm))}function Bm(t){return null==t?0:t.length||1}function Fm(t){return t}var Gm=function(){function t(t,e,n,i,r,o){this._old=t,this._new=e,this._oldKeyGetter=n||Fm,this._newKeyGetter=i||Fm,this.context=r,this._diffModeMultiple="multiple"===o}return t.prototype.add=function(t){return this._add=t,this},t.prototype.update=function(t){return this._update=t,this},t.prototype.updateManyToOne=function(t){return this._updateManyToOne=t,this},t.prototype.updateOneToMany=function(t){return this._updateOneToMany=t,this},t.prototype.updateManyToMany=function(t){return this._updateManyToMany=t,this},t.prototype.remove=function(t){return this._remove=t,this},t.prototype.execute=function(){this[this._diffModeMultiple?"_executeMultiple":"_executeOneToOne"]()},t.prototype._executeOneToOne=function(){var t=this._old,e=this._new,n={},i=new Array(t.length),r=new Array(e.length);this._initIndexMap(t,null,i,"_oldKeyGetter"),this._initIndexMap(e,n,r,"_newKeyGetter");for(var o=0;o1){var u=s.shift();1===s.length&&(n[a]=s[0]),this._update&&this._update(u,o)}else 1===l?(n[a]=null,this._update&&this._update(s,o)):this._remove&&this._remove(o)}this._performRestAdd(r,n)},t.prototype._executeMultiple=function(){var t=this._old,e=this._new,n={},i={},r=[],o=[];this._initIndexMap(t,n,r,"_oldKeyGetter"),this._initIndexMap(e,i,o,"_newKeyGetter");for(var a=0;a1&&1===c)this._updateManyToOne&&this._updateManyToOne(u,l),i[s]=null;else if(1===h&&c>1)this._updateOneToMany&&this._updateOneToMany(u,l),i[s]=null;else if(1===h&&1===c)this._update&&this._update(u,l),i[s]=null;else if(h>1&&c>1)this._updateManyToMany&&this._updateManyToMany(u,l),i[s]=null;else if(h>1)for(var p=0;p1)for(var a=0;a30}var Qm,tx,ex,nx,ix,rx,ox,ax=q,sx=z,lx="undefined"==typeof Int32Array?Array:Int32Array,ux=["hasItemOption","_nameList","_idList","_invertedIndicesMap","_dimSummary","userOutput","_rawData","_dimValueGetter","_nameDimIdx","_idDimIdx","_nameRepeatCount"],hx=["_approximateExtent"],cx=function(){function t(t,e){var n;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","lttbDownSample","map"],this.CHANGABLE_METHODS=["filterSelf","selectRange"],this.DOWNSAMPLE_METHODS=["downSample","lttbDownSample"];var i=!1;qm(t)?(n=t.dimensions,this._dimOmitted=t.isDimensionOmitted(),this._schema=t):(i=!0,n=t),n=n||["x","y"];for(var r={},o=[],a={},s=!1,l={},u=0;u=e)){var n=this._store.getProvider();this._updateOrdinalMeta();var i=this._nameList,r=this._idList;if(n.getSource().sourceFormat===Wp&&!n.pure)for(var o=[],a=t;a0},t.prototype.ensureUniqueItemVisual=function(t,e){var n=this._itemVisuals,i=n[t];i||(i=n[t]={});var r=i[e];return null==r&&(Y(r=this.getVisual(e))?r=r.slice():ax(r)&&(r=A({},r)),i[e]=r),r},t.prototype.setItemVisual=function(t,e,n){var i=this._itemVisuals[t]||{};this._itemVisuals[t]=i,ax(e)?A(i,e):i[e]=n},t.prototype.clearAllVisual=function(){this._visual={},this._itemVisuals=[]},t.prototype.setLayout=function(t,e){ax(t)?A(this._layout,t):this._layout[t]=e},t.prototype.getLayout=function(t){return this._layout[t]},t.prototype.getItemLayout=function(t){return this._itemLayouts[t]},t.prototype.setItemLayout=function(t,e,n){this._itemLayouts[t]=n?A(this._itemLayouts[t]||{},e):e},t.prototype.clearItemLayouts=function(){this._itemLayouts.length=0},t.prototype.setItemGraphicEl=function(t,e){var n=this.hostModel&&this.hostModel.seriesIndex;ol(n,this.dataType,t,e),this._graphicEls[t]=e},t.prototype.getItemGraphicEl=function(t){return this._graphicEls[t]},t.prototype.eachItemGraphicEl=function(t,e){E(this._graphicEls,(function(n,i){n&&t&&t.call(e,n,i)}))},t.prototype.cloneShallow=function(e){return e||(e=new t(this._schema?this._schema:sx(this.dimensions,this._getDimInfo,this),this.hostModel)),ix(e,this),e._store=this._store,e},t.prototype.wrapMethod=function(t,e){var n=this[t];X(n)&&(this.__wrappedMethods=this.__wrappedMethods||[],this.__wrappedMethods.push(t),this[t]=function(){var t=n.apply(this,arguments);return e.apply(this,[t].concat(at(arguments)))})},t.internalField=(Qm=function(t){var e=t._invertedIndicesMap;E(e,(function(n,i){var r=t._dimInfos[i],o=r.ordinalMeta,a=t._store;if(o){n=e[i]=new lx(o.categories.length);for(var s=0;s1&&(s+="__ec__"+u),i[e]=s}})),t}();function px(t,e){Qd(t)||(t=ef(t));var n=(e=e||{}).coordDimensions||[],i=e.dimensionsDefine||t.dimensionsDefine||[],r=yt(),o=[],a=function(t,e,n,i){var r=Math.max(t.dimensionsDetectedCount||1,e.length,n.length,i||0);return E(e,(function(t){var e;q(t)&&(e=t.dimsDef)&&(r=Math.max(r,e.length))})),r}(t,n,i,e.dimensionsCount),s=e.canOmitUnusedDimensions&&Jm(a),l=i===t.dimensionsDefine,u=l?$m(t):Km(i),h=e.encodeDefine;!h&&e.encodeDefaulter&&(h=e.encodeDefaulter(t,a));for(var c=yt(h),p=new Xf(a),d=0;d0&&(i.name=r+(o-1)),o++,e.set(r,o)}}(o),new jm({source:t,dimensions:o,fullDimensionCount:a,dimensionOmitted:s})}function dx(t,e,n){if(n||e.hasKey(t)){for(var i=0;e.hasKey(t+i);)i++;t+=i}return e.set(t,!0),t}var fx=function(t){this.coordSysDims=[],this.axisMap=yt(),this.categoryAxisMap=yt(),this.coordSysName=t};var gx={cartesian2d:function(t,e,n,i){var r=t.getReferringComponents("xAxis",Wo).models[0],o=t.getReferringComponents("yAxis",Wo).models[0];e.coordSysDims=["x","y"],n.set("x",r),n.set("y",o),yx(r)&&(i.set("x",r),e.firstCategoryDimIndex=0),yx(o)&&(i.set("y",o),null==e.firstCategoryDimIndex&&(e.firstCategoryDimIndex=1))},singleAxis:function(t,e,n,i){var r=t.getReferringComponents("singleAxis",Wo).models[0];e.coordSysDims=["single"],n.set("single",r),yx(r)&&(i.set("single",r),e.firstCategoryDimIndex=0)},polar:function(t,e,n,i){var r=t.getReferringComponents("polar",Wo).models[0],o=r.findAxisModel("radiusAxis"),a=r.findAxisModel("angleAxis");e.coordSysDims=["radius","angle"],n.set("radius",o),n.set("angle",a),yx(o)&&(i.set("radius",o),e.firstCategoryDimIndex=0),yx(a)&&(i.set("angle",a),null==e.firstCategoryDimIndex&&(e.firstCategoryDimIndex=1))},geo:function(t,e,n,i){e.coordSysDims=["lng","lat"]},parallel:function(t,e,n,i){var r=t.ecModel,o=r.getComponent("parallel",t.get("parallelIndex")),a=e.coordSysDims=o.dimensions.slice();E(o.parallelAxisIndex,(function(t,o){var s=r.getComponent("parallelAxis",t),l=a[o];n.set(l,s),yx(s)&&(i.set(l,s),null==e.firstCategoryDimIndex&&(e.firstCategoryDimIndex=o))}))}};function yx(t){return"category"===t.get("type")}function vx(t,e,n){var i,r,o,a=(n=n||{}).byIndex,s=n.stackedCoordDimension;!function(t){return!qm(t.schema)}(e)?(r=e.schema,i=r.dimensions,o=e.store):i=e;var l,u,h,c,p=!(!t||!t.get("stack"));if(E(i,(function(t,e){U(t)&&(i[e]=t={name:t}),p&&!t.isExtraCoord&&(a||l||!t.ordinalMeta||(l=t),u||"ordinal"===t.type||"time"===t.type||s&&s!==t.coordDim||(u=t))})),!u||a||l||(a=!0),u){h="__\0ecstackresult_"+t.id,c="__\0ecstackedover_"+t.id,l&&(l.createInvertedIndices=!0);var d=u.coordDim,f=u.type,g=0;E(i,(function(t){t.coordDim===d&&g++}));var y={name:h,coordDim:d,coordDimIndex:g,type:f,isExtraCoord:!0,isCalculationCoord:!0,storeDimIndex:i.length},v={name:c,coordDim:c,coordDimIndex:g+1,type:f,isExtraCoord:!0,isCalculationCoord:!0,storeDimIndex:i.length+1};r?(o&&(y.storeDimIndex=o.ensureCalculationDimension(c,f),v.storeDimIndex=o.ensureCalculationDimension(h,f)),r.appendCalculationDimension(y),r.appendCalculationDimension(v)):(i.push(y),i.push(v))}return{stackedDimension:u&&u.name,stackedByDimension:l&&l.name,isStackedByIndex:a,stackedOverDimension:c,stackResultDimension:h}}function mx(t,e){return!!e&&e===t.getCalculationInfo("stackedDimension")}function xx(t,e){return mx(t,e)?t.getCalculationInfo("stackResultDimension"):e}function _x(t,e,n){n=n||{};var i,r=e.getSourceManager(),o=!1;t?(o=!0,i=ef(t)):o=(i=r.getSource()).sourceFormat===Wp;var a=function(t){var e=t.get("coordinateSystem"),n=new fx(e),i=gx[e];if(i)return i(t,n,n.axisMap,n.categoryAxisMap),n}(e),s=function(t,e){var n,i=t.get("coordinateSystem"),r=wd.get(i);return e&&e.coordSysDims&&(n=z(e.coordSysDims,(function(t){var n={name:t},i=e.axisMap.get(t);if(i){var r=i.get("type");n.type=Ym(r)}return n}))),n||(n=r&&(r.getDimensionsInfo?r.getDimensionsInfo():r.dimensions.slice())||["x","y"]),n}(e,a),l=n.useEncodeDefaulter,u=X(l)?l:l?H(td,s,e):null,h=px(i,{coordDimensions:s,generateCoord:n.generateCoord,encodeDefine:e.getEncode(),encodeDefaulter:u,canOmitUnusedDimensions:!o}),c=function(t,e,n){var i,r;return n&&E(t,(function(t,o){var a=t.coordDim,s=n.categoryAxisMap.get(a);s&&(null==i&&(i=o),t.ordinalMeta=s.getOrdinalMeta(),e&&(t.createInvertedIndices=!0)),null!=t.otherDims.itemName&&(r=!0)})),r||null==i||(t[i].otherDims.itemName=0),i}(h.dimensions,n.createInvertedIndices,a),p=o?null:r.getSharedDataStore(h),d=vx(e,{schema:h,store:p}),f=new cx(h,e);f.setCalculationInfo(d);var g=null!=c&&function(t){if(t.sourceFormat===Wp){var e=function(t){var e=0;for(;ee[1]&&(e[1]=t[1])},t.prototype.unionExtentFromData=function(t,e){this.unionExtent(t.getApproximateExtent(e))},t.prototype.getExtent=function(){return this._extent.slice()},t.prototype.setExtent=function(t,e){var n=this._extent;isNaN(t)||(n[0]=t),isNaN(e)||(n[1]=e)},t.prototype.isInExtentRange=function(t){return this._extent[0]<=t&&this._extent[1]>=t},t.prototype.isBlank=function(){return this._isBlank},t.prototype.setBlank=function(t){this._isBlank=t},t}();na(bx);var Sx=0,Mx=function(){function t(t){this.categories=t.categories||[],this._needCollect=t.needCollect,this._deduplication=t.deduplication,this.uid=++Sx}return t.createByAxisModel=function(e){var n=e.option,i=n.data,r=i&&z(i,Ix);return new t({categories:r,needCollect:!r,deduplication:!1!==n.dedplication})},t.prototype.getOrdinal=function(t){return this._getOrCreateMap().get(t)},t.prototype.parseAndCollect=function(t){var e,n=this._needCollect;if(!U(t)&&!n)return t;if(n&&!this._deduplication)return e=this.categories.length,this.categories[e]=t,e;var i=this._getOrCreateMap();return null==(e=i.get(t))&&(n?(e=this.categories.length,this.categories[e]=t,i.set(t,e)):e=NaN),e},t.prototype._getOrCreateMap=function(){return this._map||(this._map=yt(this.categories))},t}();function Ix(t){return q(t)&&null!=t.value?t.value:t+""}function Tx(t){return"interval"===t.type||"log"===t.type}function Cx(t,e,n,i){var r={},o=t[1]-t[0],a=r.interval=po(o/e,!0);null!=n&&ai&&(a=r.interval=i);var s=r.intervalPrecision=Ax(a);return function(t,e){!isFinite(t[0])&&(t[0]=e[0]),!isFinite(t[1])&&(t[1]=e[1]),kx(t,0,e),kx(t,1,e),t[0]>t[1]&&(t[0]=t[1])}(r.niceTickExtent=[Jr(Math.ceil(t[0]/a)*a,s),Jr(Math.floor(t[1]/a)*a,s)],t),r}function Dx(t){var e=Math.pow(10,co(t)),n=t/e;return n?2===n?n=3:3===n?n=5:n*=2:n=1,Jr(n*e)}function Ax(t){return to(t)+2}function kx(t,e,n){t[e]=Math.max(Math.min(t[e],n[1]),n[0])}function Lx(t,e){return t>=e[0]&&t<=e[1]}function Px(t,e){return e[1]===e[0]?.5:(t-e[0])/(e[1]-e[0])}function Ox(t,e){return t*(e[1]-e[0])+e[0]}var Rx=function(t){function e(e){var n=t.call(this,e)||this;n.type="ordinal";var i=n.getSetting("ordinalMeta");return i||(i=new Mx({})),Y(i)&&(i=new Mx({categories:z(i,(function(t){return q(t)?t.value:t}))})),n._ordinalMeta=i,n._extent=n.getSetting("extent")||[0,i.categories.length-1],n}return n(e,t),e.prototype.parse=function(t){return null==t?NaN:U(t)?this._ordinalMeta.getOrdinal(t):Math.round(t)},e.prototype.contain=function(t){return Lx(t=this.parse(t),this._extent)&&null!=this._ordinalMeta.categories[t]},e.prototype.normalize=function(t){return Px(t=this._getTickNumber(this.parse(t)),this._extent)},e.prototype.scale=function(t){return t=Math.round(Ox(t,this._extent)),this.getRawOrdinalNumber(t)},e.prototype.getTicks=function(){for(var t=[],e=this._extent,n=e[0];n<=e[1];)t.push({value:n}),n++;return t},e.prototype.getMinorTicks=function(t){},e.prototype.setSortInfo=function(t){if(null!=t){for(var e=t.ordinalNumbers,n=this._ordinalNumbersByTick=[],i=this._ticksByOrdinalNumber=[],r=0,o=this._ordinalMeta.categories.length,a=Math.min(o,e.length);r=0&&t=0&&t=t},e.prototype.getOrdinalMeta=function(){return this._ordinalMeta},e.prototype.calcNiceTicks=function(){},e.prototype.calcNiceExtent=function(){},e.type="ordinal",e}(bx);bx.registerClass(Rx);var Nx=Jr,Ex=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.type="interval",e._interval=0,e._intervalPrecision=2,e}return n(e,t),e.prototype.parse=function(t){return t},e.prototype.contain=function(t){return Lx(t,this._extent)},e.prototype.normalize=function(t){return Px(t,this._extent)},e.prototype.scale=function(t){return Ox(t,this._extent)},e.prototype.setExtent=function(t,e){var n=this._extent;isNaN(t)||(n[0]=parseFloat(t)),isNaN(e)||(n[1]=parseFloat(e))},e.prototype.unionExtent=function(t){var e=this._extent;t[0]e[1]&&(e[1]=t[1]),this.setExtent(e[0],e[1])},e.prototype.getInterval=function(){return this._interval},e.prototype.setInterval=function(t){this._interval=t,this._niceExtent=this._extent.slice(),this._intervalPrecision=Ax(t)},e.prototype.getTicks=function(t){var e=this._interval,n=this._extent,i=this._niceExtent,r=this._intervalPrecision,o=[];if(!e)return o;n[0]1e4)return[];var s=o.length?o[o.length-1].value:i[1];return n[1]>s&&(t?o.push({value:Nx(s+e,r)}):o.push({value:n[1]})),o},e.prototype.getMinorTicks=function(t){for(var e=this.getTicks(!0),n=[],i=this.getExtent(),r=1;ri[0]&&h0&&(o=null===o?s:Math.min(o,s))}n[i]=o}}return n}(t),n=[];return E(t,(function(t){var i,r=t.coordinateSystem.getBaseAxis(),o=r.getExtent();if("category"===r.type)i=r.getBandWidth();else if("value"===r.type||"time"===r.type){var a=r.dim+"_"+r.index,s=e[a],l=Math.abs(o[1]-o[0]),u=r.scale.getExtent(),h=Math.abs(u[1]-u[0]);i=s?l/h*s:l}else{var c=t.getData();i=Math.abs(o[1]-o[0])/c.count()}var p=$r(t.get("barWidth"),i),d=$r(t.get("barMaxWidth"),i),f=$r(t.get("barMinWidth")||(qx(t)?.5:1),i),g=t.get("barGap"),y=t.get("barCategoryGap");n.push({bandWidth:i,barWidth:p,barMaxWidth:d,barMinWidth:f,barGap:g,barCategoryGap:y,axisKey:Wx(r),stackId:Gx(t)})})),Xx(n)}function Xx(t){var e={};E(t,(function(t,n){var i=t.axisKey,r=t.bandWidth,o=e[i]||{bandWidth:r,remainedWidth:r,autoWidthCount:0,categoryGap:null,gap:"20%",stacks:{}},a=o.stacks;e[i]=o;var s=t.stackId;a[s]||o.autoWidthCount++,a[s]=a[s]||{width:0,maxWidth:0};var l=t.barWidth;l&&!a[s].width&&(a[s].width=l,l=Math.min(o.remainedWidth,l),o.remainedWidth-=l);var u=t.barMaxWidth;u&&(a[s].maxWidth=u);var h=t.barMinWidth;h&&(a[s].minWidth=h);var c=t.barGap;null!=c&&(o.gap=c);var p=t.barCategoryGap;null!=p&&(o.categoryGap=p)}));var n={};return E(e,(function(t,e){n[e]={};var i=t.stacks,r=t.bandWidth,o=t.categoryGap;if(null==o){var a=G(i).length;o=Math.max(35-4*a,15)+"%"}var s=$r(o,r),l=$r(t.gap,1),u=t.remainedWidth,h=t.autoWidthCount,c=(u-s)/(h+(h-1)*l);c=Math.max(c,0),E(i,(function(t){var e=t.maxWidth,n=t.minWidth;if(t.width){i=t.width;e&&(i=Math.min(i,e)),n&&(i=Math.max(i,n)),t.width=i,u-=i+l*i,h--}else{var i=c;e&&ei&&(i=n),i!==c&&(t.width=i,u-=i+l*i,h--)}})),c=(u-s)/(h+(h-1)*l),c=Math.max(c,0);var p,d=0;E(i,(function(t,e){t.width||(t.width=c),p=t,d+=t.width*(1+l)})),p&&(d-=p.width*l);var f=-d/2;E(i,(function(t,i){n[e][i]=n[e][i]||{bandWidth:r,offset:f,width:t.width},f+=t.width*(1+l)}))})),n}function Ux(t,e){var n=Hx(t,e),i=Yx(n);E(n,(function(t){var e=t.getData(),n=t.coordinateSystem.getBaseAxis(),r=Gx(t),o=i[Wx(n)][r],a=o.offset,s=o.width;e.setLayout({bandWidth:o.bandWidth,offset:a,size:s})}))}function Zx(t){return{seriesType:t,plan:kg(),reset:function(t){if(jx(t)){var e=t.getData(),n=t.coordinateSystem,i=n.getBaseAxis(),r=n.getOtherAxis(i),o=e.getDimensionIndex(e.mapDimension(r.dim)),a=e.getDimensionIndex(e.mapDimension(i.dim)),s=t.get("showBackground",!0),l=e.mapDimension(r.dim),u=e.getCalculationInfo("stackResultDimension"),h=mx(e,l)&&!!e.getCalculationInfo("stackedOnSeries"),c=r.isHorizontal(),p=function(t,e){var n=e.model.get("startValue");n||(n=0);return e.toGlobalCoord(e.dataToCoord("log"===e.type?n>0?n:1:n))}(0,r),d=qx(t),f=t.get("barMinHeight")||0,g=u&&e.getDimensionIndex(u),y=e.getLayout("size"),v=e.getLayout("offset");return{progress:function(t,e){for(var i,r=t.count,l=d&&Bx(3*r),u=d&&s&&Bx(3*r),m=d&&Bx(r),x=n.master.getRect(),_=c?x.width:x.height,b=e.getStore(),w=0;null!=(i=t.next());){var S=b.get(h?g:o,i),M=b.get(a,i),I=p,T=void 0;h&&(T=+S-b.get(o,i));var C=void 0,D=void 0,A=void 0,k=void 0;if(c){var L=n.dataToPoint([S,M]);if(h)I=n.dataToPoint([T,M])[0];C=I,D=L[1]+v,A=L[0]-I,k=y,Math.abs(A)0)for(var s=0;s=0;--s)if(l[u]){o=l[u];break}o=o||a.none}if(Y(o)){var h=null==t.level?0:t.level>=0?t.level:o.length+t.level;o=o[h=Math.min(h,o.length-1)]}}return Jc(new Date(t.value),o,r,i)}(t,e,n,this.getSetting("locale"),i)},e.prototype.getTicks=function(){var t=this._interval,e=this._extent,n=[];if(!t)return n;n.push({value:e[0],level:0});var i=this.getSetting("useUTC"),r=function(t,e,n,i){var r=1e4,o=jc,a=0;function s(t,e,n,r,o,a,s){for(var l=new Date(e),u=e,h=l[r]();u1&&0===u&&o.unshift({value:o[0].value-p})}}for(u=0;u=i[0]&&v<=i[1]&&c++)}var m=(i[1]-i[0])/e;if(c>1.5*m&&p>m/1.5)break;if(u.push(g),c>m||t===o[d])break}h=[]}}0;var x=B(z(u,(function(t){return B(t,(function(t){return t.value>=i[0]&&t.value<=i[1]&&!t.notAdd}))})),(function(t){return t.length>0})),_=[],b=x.length-1;for(d=0;dn&&(this._approxInterval=n);var o=$x.length,a=Math.min(function(t,e,n,i){for(;n>>1;t[r][1]16?16:t>7.5?7:t>3.5?4:t>1.5?2:1}function Qx(t){return(t/=2592e6)>6?6:t>3?3:t>2?2:1}function t_(t){return(t/=Gc)>12?12:t>6?6:t>3.5?4:t>2?2:1}function e_(t,e){return(t/=e?Fc:Bc)>30?30:t>20?20:t>15?15:t>10?10:t>5?5:t>2?2:1}function n_(t){return po(t,!0)}function i_(t,e,n){var i=new Date(t);switch(Kc(e)){case"year":case"month":i[up(n)](0);case"day":i[hp(n)](1);case"hour":i[cp(n)](0);case"minute":i[pp(n)](0);case"second":i[dp(n)](0),i[fp(n)](0)}return i.getTime()}bx.registerClass(Kx);var r_=bx.prototype,o_=Ex.prototype,a_=Jr,s_=Math.floor,l_=Math.ceil,u_=Math.pow,h_=Math.log,c_=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.type="log",e.base=10,e._originalScale=new Ex,e._interval=0,e}return n(e,t),e.prototype.getTicks=function(t){var e=this._originalScale,n=this._extent,i=e.getExtent();return z(o_.getTicks.call(this,t),(function(t){var e=t.value,r=Jr(u_(this.base,e));return r=e===n[0]&&this._fixMin?d_(r,i[0]):r,{value:r=e===n[1]&&this._fixMax?d_(r,i[1]):r}}),this)},e.prototype.setExtent=function(t,e){var n=h_(this.base);t=h_(Math.max(0,t))/n,e=h_(Math.max(0,e))/n,o_.setExtent.call(this,t,e)},e.prototype.getExtent=function(){var t=this.base,e=r_.getExtent.call(this);e[0]=u_(t,e[0]),e[1]=u_(t,e[1]);var n=this._originalScale.getExtent();return this._fixMin&&(e[0]=d_(e[0],n[0])),this._fixMax&&(e[1]=d_(e[1],n[1])),e},e.prototype.unionExtent=function(t){this._originalScale.unionExtent(t);var e=this.base;t[0]=h_(t[0])/h_(e),t[1]=h_(t[1])/h_(e),r_.unionExtent.call(this,t)},e.prototype.unionExtentFromData=function(t,e){this.unionExtent(t.getApproximateExtent(e))},e.prototype.calcNiceTicks=function(t){t=t||10;var e=this._extent,n=e[1]-e[0];if(!(n===1/0||n<=0)){var i=ho(n);for(t/n*i<=.5&&(i*=10);!isNaN(i)&&Math.abs(i)<1&&Math.abs(i)>0;)i*=10;var r=[Jr(l_(e[0]/i)*i),Jr(s_(e[1]/i)*i)];this._interval=i,this._niceExtent=r}},e.prototype.calcNiceExtent=function(t){o_.calcNiceExtent.call(this,t),this._fixMin=t.fixMin,this._fixMax=t.fixMax},e.prototype.parse=function(t){return t},e.prototype.contain=function(t){return Lx(t=h_(t)/h_(this.base),this._extent)},e.prototype.normalize=function(t){return Px(t=h_(t)/h_(this.base),this._extent)},e.prototype.scale=function(t){return t=Ox(t,this._extent),u_(this.base,t)},e.type="log",e}(bx),p_=c_.prototype;function d_(t,e){return a_(t,to(e))}p_.getMinorTicks=o_.getMinorTicks,p_.getLabel=o_.getLabel,bx.registerClass(c_);var f_=function(){function t(t,e,n){this._prepareParams(t,e,n)}return t.prototype._prepareParams=function(t,e,n){n[1]0&&s>0&&!l&&(a=0),a<0&&s<0&&!u&&(s=0));var c=this._determinedMin,p=this._determinedMax;return null!=c&&(a=c,l=!0),null!=p&&(s=p,u=!0),{min:a,max:s,minFixed:l,maxFixed:u,isBlank:h}},t.prototype.modifyDataMinMax=function(t,e){this[y_[t]]=e},t.prototype.setDeterminedMinMax=function(t,e){var n=g_[t];this[n]=e},t.prototype.freeze=function(){this.frozen=!0},t}(),g_={min:"_determinedMin",max:"_determinedMax"},y_={min:"_dataMin",max:"_dataMax"};function v_(t,e,n){var i=t.rawExtentInfo;return i||(i=new f_(t,e,n),t.rawExtentInfo=i,i)}function m_(t,e){return null==e?null:nt(e)?NaN:t.parse(e)}function x_(t,e){var n=t.type,i=v_(t,e,t.getExtent()).calculate();t.setBlank(i.isBlank);var r=i.min,o=i.max,a=e.ecModel;if(a&&"time"===n){var s=Hx("bar",a),l=!1;if(E(s,(function(t){l=l||t.getBaseAxis()===e.axis})),l){var u=Yx(s),h=function(t,e,n,i){var r=n.axis.getExtent(),o=r[1]-r[0],a=function(t,e,n){if(t&&e){var i=t[Wx(e)];return null!=i&&null!=n?i[Gx(n)]:i}}(i,n.axis);if(void 0===a)return{min:t,max:e};var s=1/0;E(a,(function(t){s=Math.min(t.offset,s)}));var l=-1/0;E(a,(function(t){l=Math.max(t.offset+t.width,l)})),s=Math.abs(s),l=Math.abs(l);var u=s+l,h=e-t,c=h/(1-(s+l)/o)-h;return e+=c*(l/u),t-=c*(s/u),{min:t,max:e}}(r,o,e,u);r=h.min,o=h.max}}return{extent:[r,o],fixMin:i.minFixed,fixMax:i.maxFixed}}function __(t,e){var n=e,i=x_(t,n),r=i.extent,o=n.get("splitNumber");t instanceof c_&&(t.base=n.get("logBase"));var a=t.type,s=n.get("interval"),l="interval"===a||"time"===a;t.setExtent(r[0],r[1]),t.calcNiceExtent({splitNumber:o,fixMin:i.fixMin,fixMax:i.fixMax,minInterval:l?n.get("minInterval"):null,maxInterval:l?n.get("maxInterval"):null}),null!=s&&t.setInterval&&t.setInterval(s)}function b_(t,e){if(e=e||t.get("type"))switch(e){case"category":return new Rx({ordinalMeta:t.getOrdinalMeta?t.getOrdinalMeta():t.getCategories(),extent:[1/0,-1/0]});case"time":return new Kx({locale:t.ecModel.getLocaleModel(),useUTC:t.ecModel.get("useUTC")});default:return new(bx.getClass(e)||Ex)}}function w_(t){var e,n,i=t.getLabelModel().get("formatter"),r="category"===t.type?t.scale.getExtent()[0]:null;return"time"===t.scale.type?(n=i,function(e,i){return t.scale.getFormattedLabel(e,i,n)}):U(i)?function(e){return function(n){var i=t.scale.getLabel(n);return e.replace("{value}",null!=i?i:"")}}(i):X(i)?(e=i,function(n,i){return null!=r&&(i=n.value-r),e(S_(t,n),i,null!=n.level?{level:n.level}:null)}):function(e){return t.scale.getLabel(e)}}function S_(t,e){return"category"===t.type?t.scale.getLabel(e):e.value}function M_(t,e){var n=e*Math.PI/180,i=t.width,r=t.height,o=i*Math.abs(Math.cos(n))+Math.abs(r*Math.sin(n)),a=i*Math.abs(Math.sin(n))+Math.abs(r*Math.cos(n));return new ze(t.x,t.y,o,a)}function I_(t){var e=t.get("interval");return null==e?"auto":e}function T_(t){return"category"===t.type&&0===I_(t.getLabelModel())}function C_(t,e){var n={};return E(t.mapDimensionsAll(e),(function(e){n[xx(t,e)]=!0})),G(n)}var D_=function(){function t(){}return t.prototype.getNeedCrossZero=function(){return!this.option.scale},t.prototype.getCoordSysModel=function(){},t}();var A_={isDimensionStacked:mx,enableDataStack:vx,getStackedDimension:xx};var k_=Object.freeze({__proto__:null,createList:function(t){return _x(null,t)},getLayoutRect:kp,dataStack:A_,createScale:function(t,e){var n=e;e instanceof Cc||(n=new Cc(e));var i=b_(n);return i.setExtent(t[0],t[1]),__(i,n),i},mixinAxisModelCommonMethods:function(t){R(t,D_)},getECData:rl,createTextStyle:function(t,e){return oc(t,null,null,"normal"!==(e=e||{}).state)},createDimensions:function(t,e){return px(t,e).dimensions},createSymbol:Xy,enableHoverEmphasis:Ul});function L_(t,e){return Math.abs(t-e)<1e-8}function P_(t,e,n){var i=0,r=t[0];if(!r)return!1;for(var o=1;on&&(t=r,n=a)}if(t)return function(t){for(var e=0,n=0,i=0,r=t.length,o=t[r-1][0],a=t[r-1][1],s=0;s>1^-(1&s),l=l>>1^-(1&l),r=s+=r,o=l+=o,i.push([s/n,l/n])}return i}function H_(t,e){return z(B((t=function(t){if(!t.UTF8Encoding)return t;var e=t,n=e.UTF8Scale;return null==n&&(n=1024),E(e.features,(function(t){var e=t.geometry,i=e.encodeOffsets,r=e.coordinates;if(i)switch(e.type){case"LineString":e.coordinates=W_(r,i,n);break;case"Polygon":case"MultiLineString":G_(r,i,n);break;case"MultiPolygon":E(r,(function(t,e){return G_(t,i[e],n)}))}})),e.UTF8Encoding=!1,e}(t)).features,(function(t){return t.geometry&&t.properties&&t.geometry.coordinates.length>0})),(function(t){var n=t.properties,i=t.geometry,r=[];switch(i.type){case"Polygon":var o=i.coordinates;r.push(new z_(o[0],o.slice(1)));break;case"MultiPolygon":E(i.coordinates,(function(t){t[0]&&r.push(new z_(t[0],t.slice(1)))}));break;case"LineString":r.push(new V_([i.coordinates]));break;case"MultiLineString":r.push(new V_(i.coordinates))}var a=new B_(n[e||"name"],r,n.cp);return a.properties=n,a}))}var Y_=Object.freeze({__proto__:null,linearMap:Kr,round:Jr,asc:Qr,getPrecision:to,getPrecisionSafe:eo,getPixelPrecision:no,getPercentWithPrecision:function(t,e,n){return t[e]&&io(t,n)[e]||0},MAX_SAFE_INTEGER:oo,remRadian:ao,isRadianAroundZero:so,parseDate:uo,quantity:ho,quantityExponent:co,nice:po,quantile:fo,reformIntervals:go,isNumeric:vo,numericToNumber:yo}),X_=Object.freeze({__proto__:null,parse:uo,format:Jc}),U_=Object.freeze({__proto__:null,extendShape:Ch,extendPath:Ah,makePath:Ph,makeImage:Oh,mergePath:Nh,resizePath:Eh,createIcon:Uh,updateProps:vh,initProps:mh,getTransform:Bh,clipPointsByRect:Yh,clipRectByRect:Xh,registerShape:kh,getShapeClass:Lh,Group:Br,Image:Ns,Text:Xs,Circle:Su,Ellipse:Iu,Sector:Fu,Ring:Wu,Polygon:Xu,Polyline:Zu,Rect:Ws,Line:Ku,BezierCurve:th,Arc:nh,IncrementalDisplayable:dh,CompoundPath:ih,LinearGradient:oh,RadialGradient:ah,BoundingRect:ze}),Z_=Object.freeze({__proto__:null,addCommas:gp,toCamelCase:yp,normalizeCssArray:vp,encodeHTML:re,formatTpl:bp,getTooltipMarker:wp,formatTime:function(t,e,n){"week"!==t&&"month"!==t&&"quarter"!==t&&"half-year"!==t&&"year"!==t||(t="MM-dd\nyyyy");var i=uo(e),r=n?"getUTC":"get",o=i[r+"FullYear"](),a=i[r+"Month"]()+1,s=i[r+"Date"](),l=i[r+"Hours"](),u=i[r+"Minutes"](),h=i[r+"Seconds"](),c=i[r+"Milliseconds"]();return t=t.replace("MM",qc(a,2)).replace("M",a).replace("yyyy",o).replace("yy",qc(o%100+"",2)).replace("dd",qc(s,2)).replace("d",s).replace("hh",qc(l,2)).replace("h",l).replace("mm",qc(u,2)).replace("m",u).replace("ss",qc(h,2)).replace("s",h).replace("SSS",qc(c,3))},capitalFirst:function(t){return t?t.charAt(0).toUpperCase()+t.substr(1):t},truncateText:pa,getTextRect:function(t,e,n,i,r,o,a,s){return new Xs({style:{text:t,font:e,align:n,verticalAlign:i,padding:r,rich:o,overflow:a?"truncate":null,lineHeight:s}}).getBoundingRect()}}),j_=Object.freeze({__proto__:null,map:z,each:E,indexOf:P,inherits:O,reduce:V,filter:B,bind:W,curry:H,isArray:Y,isString:U,isObject:q,isFunction:X,extend:A,defaults:k,clone:T,merge:C}),q_=Vo();function K_(t,e){var n=z(e,(function(e){return t.scale.parse(e)}));return"time"===t.type&&n.length>0&&(n.sort(),n.unshift(n[0]),n.push(n[n.length-1])),n}function $_(t){var e=t.getLabelModel().get("customValues");if(e){var n=w_(t);return{labels:K_(t,e).map((function(e){var i={value:e};return{formattedLabel:n(i),rawLabel:t.scale.getLabel(i),tickValue:e}}))}}return"category"===t.type?function(t){var e=t.getLabelModel(),n=Q_(t,e);return!e.get("show")||t.scale.isBlank()?{labels:[],labelCategoryInterval:n.labelCategoryInterval}:n}(t):function(t){var e=t.scale.getTicks(),n=w_(t);return{labels:z(e,(function(e,i){return{level:e.level,formattedLabel:n(e,i),rawLabel:t.scale.getLabel(e),tickValue:e.value}}))}}(t)}function J_(t,e){var n=t.getTickModel().get("customValues");return n?{ticks:K_(t,n)}:"category"===t.type?function(t,e){var n,i,r=tb(t,"ticks"),o=I_(e),a=eb(r,o);if(a)return a;e.get("show")&&!t.scale.isBlank()||(n=[]);if(X(o))n=rb(t,o,!0);else if("auto"===o){var s=Q_(t,t.getLabelModel());i=s.labelCategoryInterval,n=z(s.labels,(function(t){return t.tickValue}))}else n=ib(t,i=o,!0);return nb(r,o,{ticks:n,tickCategoryInterval:i})}(t,e):{ticks:z(t.scale.getTicks(),(function(t){return t.value}))}}function Q_(t,e){var n,i,r=tb(t,"labels"),o=I_(e),a=eb(r,o);return a||(X(o)?n=rb(t,o):(i="auto"===o?function(t){var e=q_(t).autoInterval;return null!=e?e:q_(t).autoInterval=t.calculateCategoryInterval()}(t):o,n=ib(t,i)),nb(r,o,{labels:n,labelCategoryInterval:i}))}function tb(t,e){return q_(t)[e]||(q_(t)[e]=[])}function eb(t,e){for(var n=0;n1&&h/l>2&&(u=Math.round(Math.ceil(u/l)*l));var c=T_(t),p=a.get("showMinLabel")||c,d=a.get("showMaxLabel")||c;p&&u!==o[0]&&g(o[0]);for(var f=u;f<=o[1];f+=l)g(f);function g(t){var e={value:t};s.push(n?t:{formattedLabel:i(e),rawLabel:r.getLabel(e),tickValue:t})}return d&&f-l!==o[1]&&g(o[1]),s}function rb(t,e,n){var i=t.scale,r=w_(t),o=[];return E(i.getTicks(),(function(t){var a=i.getLabel(t),s=t.value;e(t.value,a)&&o.push(n?s:{formattedLabel:r(t),rawLabel:a,tickValue:s})})),o}var ob=[0,1],ab=function(){function t(t,e,n){this.onBand=!1,this.inverse=!1,this.dim=t,this.scale=e,this._extent=n||[0,0]}return t.prototype.contain=function(t){var e=this._extent,n=Math.min(e[0],e[1]),i=Math.max(e[0],e[1]);return t>=n&&t<=i},t.prototype.containData=function(t){return this.scale.contain(t)},t.prototype.getExtent=function(){return this._extent.slice()},t.prototype.getPixelPrecision=function(t){return no(t||this.scale.getExtent(),this._extent)},t.prototype.setExtent=function(t,e){var n=this._extent;n[0]=t,n[1]=e},t.prototype.dataToCoord=function(t,e){var n=this._extent,i=this.scale;return t=i.normalize(t),this.onBand&&"ordinal"===i.type&&sb(n=n.slice(),i.count()),Kr(t,ob,n,e)},t.prototype.coordToData=function(t,e){var n=this._extent,i=this.scale;this.onBand&&"ordinal"===i.type&&sb(n=n.slice(),i.count());var r=Kr(t,n,ob,e);return this.scale.scale(r)},t.prototype.pointToData=function(t,e){},t.prototype.getTicksCoords=function(t){var e=(t=t||{}).tickModel||this.getTickModel(),n=z(J_(this,e).ticks,(function(t){return{coord:this.dataToCoord("ordinal"===this.scale.type?this.scale.getRawOrdinalNumber(t):t),tickValue:t}}),this);return function(t,e,n,i){var r=e.length;if(!t.onBand||n||!r)return;var o,a,s=t.getExtent();if(1===r)e[0].coord=s[0],o=e[1]={coord:s[1]};else{var l=e[r-1].tickValue-e[0].tickValue,u=(e[r-1].coord-e[0].coord)/l;E(e,(function(t){t.coord-=u/2})),a=1+t.scale.getExtent()[1]-e[r-1].tickValue,o={coord:e[r-1].coord+u*a},e.push(o)}var h=s[0]>s[1];c(e[0].coord,s[0])&&(i?e[0].coord=s[0]:e.shift());i&&c(s[0],e[0].coord)&&e.unshift({coord:s[0]});c(s[1],o.coord)&&(i?o.coord=s[1]:e.pop());i&&c(o.coord,s[1])&&e.push({coord:s[1]});function c(t,e){return t=Jr(t),e=Jr(e),h?t>e:t0&&t<100||(t=5),z(this.scale.getMinorTicks(t),(function(t){return z(t,(function(t){return{coord:this.dataToCoord(t),tickValue:t}}),this)}),this)},t.prototype.getViewLabels=function(){return $_(this).labels},t.prototype.getLabelModel=function(){return this.model.getModel("axisLabel")},t.prototype.getTickModel=function(){return this.model.getModel("axisTick")},t.prototype.getBandWidth=function(){var t=this._extent,e=this.scale.getExtent(),n=e[1]-e[0]+(this.onBand?1:0);0===n&&(n=1);var i=Math.abs(t[1]-t[0]);return Math.abs(i)/n},t.prototype.calculateCategoryInterval=function(){return function(t){var e=function(t){var e=t.getLabelModel();return{axisRotate:t.getRotate?t.getRotate():t.isHorizontal&&!t.isHorizontal()?90:0,labelRotate:e.get("rotate")||0,font:e.getFont()}}(t),n=w_(t),i=(e.axisRotate-e.labelRotate)/180*Math.PI,r=t.scale,o=r.getExtent(),a=r.count();if(o[1]-o[0]<1)return 0;var s=1;a>40&&(s=Math.max(1,Math.floor(a/40)));for(var l=o[0],u=t.dataToCoord(l+1)-t.dataToCoord(l),h=Math.abs(u*Math.cos(i)),c=Math.abs(u*Math.sin(i)),p=0,d=0;l<=o[1];l+=s){var f,g,y=Sr(n({value:l}),e.font,"center","top");f=1.3*y.width,g=1.3*y.height,p=Math.max(p,f,7),d=Math.max(d,g,7)}var v=p/h,m=d/c;isNaN(v)&&(v=1/0),isNaN(m)&&(m=1/0);var x=Math.max(0,Math.floor(Math.min(v,m))),_=q_(t.model),b=t.getExtent(),w=_.lastAutoInterval,S=_.lastTickCount;return null!=w&&null!=S&&Math.abs(w-x)<=1&&Math.abs(S-a)<=1&&w>x&&_.axisExtent0===b[0]&&_.axisExtent1===b[1]?x=w:(_.lastTickCount=a,_.lastAutoInterval=x,_.axisExtent0=b[0],_.axisExtent1=b[1]),x}(this)},t}();function sb(t,e){var n=(t[1]-t[0])/e/2;t[0]+=n,t[1]-=n}var lb=2*Math.PI,ub=hs.CMD,hb=["top","right","bottom","left"];function cb(t,e,n,i,r){var o=n.width,a=n.height;switch(t){case"top":i.set(n.x+o/2,n.y-e),r.set(0,-1);break;case"bottom":i.set(n.x+o/2,n.y+a+e),r.set(0,1);break;case"left":i.set(n.x-e,n.y+a/2),r.set(-1,0);break;case"right":i.set(n.x+o+e,n.y+a/2),r.set(1,0)}}function pb(t,e,n,i,r,o,a,s,l){a-=t,s-=e;var u=Math.sqrt(a*a+s*s),h=(a/=u)*n+t,c=(s/=u)*n+e;if(Math.abs(i-r)%lb<1e-4)return l[0]=h,l[1]=c,u-n;if(o){var p=i;i=gs(r),r=gs(p)}else i=gs(i),r=gs(r);i>r&&(r+=lb);var d=Math.atan2(s,a);if(d<0&&(d+=lb),d>=i&&d<=r||d+lb>=i&&d+lb<=r)return l[0]=h,l[1]=c,u-n;var f=n*Math.cos(i)+t,g=n*Math.sin(i)+e,y=n*Math.cos(r)+t,v=n*Math.sin(r)+e,m=(f-a)*(f-a)+(g-s)*(g-s),x=(y-a)*(y-a)+(v-s)*(v-s);return m0){e=e/180*Math.PI,mb.fromArray(t[0]),xb.fromArray(t[1]),_b.fromArray(t[2]),De.sub(bb,mb,xb),De.sub(wb,_b,xb);var n=bb.len(),i=wb.len();if(!(n<.001||i<.001)){bb.scale(1/n),wb.scale(1/i);var r=bb.dot(wb);if(Math.cos(e)1&&De.copy(Ib,_b),Ib.toArray(t[1])}}}}function Cb(t,e,n){if(n<=180&&n>0){n=n/180*Math.PI,mb.fromArray(t[0]),xb.fromArray(t[1]),_b.fromArray(t[2]),De.sub(bb,xb,mb),De.sub(wb,_b,xb);var i=bb.len(),r=wb.len();if(!(i<.001||r<.001))if(bb.scale(1/i),wb.scale(1/r),bb.dot(e)=a)De.copy(Ib,_b);else{Ib.scaleAndAdd(wb,o/Math.tan(Math.PI/2-s));var l=_b.x!==xb.x?(Ib.x-xb.x)/(_b.x-xb.x):(Ib.y-xb.y)/(_b.y-xb.y);if(isNaN(l))return;l<0?De.copy(Ib,xb):l>1&&De.copy(Ib,_b)}Ib.toArray(t[1])}}}function Db(t,e,n,i){var r="normal"===n,o=r?t:t.ensureState(n);o.ignore=e;var a=i.get("smooth");a&&!0===a&&(a=.3),o.shape=o.shape||{},a>0&&(o.shape.smooth=a);var s=i.getModel("lineStyle").getLineStyle();r?t.useStyle(s):o.style=s}function Ab(t,e){var n=e.smooth,i=e.points;if(i)if(t.moveTo(i[0][0],i[0][1]),n>0&&i.length>=3){var r=Vt(i[0],i[1]),o=Vt(i[1],i[2]);if(!r||!o)return t.lineTo(i[1][0],i[1][1]),void t.lineTo(i[2][0],i[2][1]);var a=Math.min(r,o)*n,s=Gt([],i[1],i[0],a/r),l=Gt([],i[1],i[2],a/o),u=Gt([],s,l,.5);t.bezierCurveTo(s[0],s[1],s[0],s[1],u[0],u[1]),t.bezierCurveTo(l[0],l[1],l[0],l[1],i[2][0],i[2][1])}else for(var h=1;h0&&o&&_(-h/a,0,a);var f,g,y=t[0],v=t[a-1];return m(),f<0&&b(-f,.8),g<0&&b(g,.8),m(),x(f,g,1),x(g,f,-1),m(),f<0&&w(-f),g<0&&w(g),u}function m(){f=y.rect[e]-i,g=r-v.rect[e]-v.rect[n]}function x(t,e,n){if(t<0){var i=Math.min(e,-t);if(i>0){_(i*n,0,a);var r=i+t;r<0&&b(-r*n,1)}else b(-t*n,1)}}function _(n,i,r){0!==n&&(u=!0);for(var o=i;o0)for(l=0;l0;l--){_(-(o[l-1]*c),l,a)}}}function w(t){var e=t<0?-1:1;t=Math.abs(t);for(var n=Math.ceil(t/(a-1)),i=0;i0?_(n,0,i+1):_(-n,a-i-1,a),(t-=n)<=0)return}}function Rb(t,e,n,i){return Ob(t,"y","height",e,n,i)}function Nb(t){var e=[];t.sort((function(t,e){return e.priority-t.priority}));var n=new ze(0,0,0,0);function i(t){if(!t.ignore){var e=t.ensureState("emphasis");null==e.ignore&&(e.ignore=!1)}t.ignore=!0}for(var r=0;r=0&&n.attr(d.oldLayoutSelect),P(u,"emphasis")>=0&&n.attr(d.oldLayoutEmphasis)),vh(n,s,e,a)}else if(n.attr(s),!pc(n).valueAnimation){var h=rt(n.style.opacity,1);n.style.opacity=0,mh(n,{style:{opacity:h}},e,a)}if(d.oldLayout=s,n.states.select){var c=d.oldLayoutSelect={};Wb(c,s,Hb),Wb(c,n.states.select,Hb)}if(n.states.emphasis){var p=d.oldLayoutEmphasis={};Wb(p,s,Hb),Wb(p,n.states.emphasis,Hb)}fc(n,a,l,e,e)}if(i&&!i.ignore&&!i.invisible){r=(d=Gb(i)).oldLayout;var d,f={points:i.shape.points};r?(i.attr({shape:r}),vh(i,{shape:f},e)):(i.setShape(f),i.style.strokePercent=0,mh(i,{style:{strokePercent:1}},e)),d.oldLayout=f}},t}(),Xb=Vo();var Ub=Math.sin,Zb=Math.cos,jb=Math.PI,qb=2*Math.PI,Kb=180/jb,$b=function(){function t(){}return t.prototype.reset=function(t){this._start=!0,this._d=[],this._str="",this._p=Math.pow(10,t||4)},t.prototype.moveTo=function(t,e){this._add("M",t,e)},t.prototype.lineTo=function(t,e){this._add("L",t,e)},t.prototype.bezierCurveTo=function(t,e,n,i,r,o){this._add("C",t,e,n,i,r,o)},t.prototype.quadraticCurveTo=function(t,e,n,i){this._add("Q",t,e,n,i)},t.prototype.arc=function(t,e,n,i,r,o){this.ellipse(t,e,n,n,0,i,r,o)},t.prototype.ellipse=function(t,e,n,i,r,o,a,s){var l=a-o,u=!s,h=Math.abs(l),c=pi(h-qb)||(u?l>=qb:-l>=qb),p=l>0?l%qb:l%qb+qb,d=!1;d=!!c||!pi(h)&&p>=jb==!!u;var f=t+n*Zb(o),g=e+i*Ub(o);this._start&&this._add("M",f,g);var y=Math.round(r*Kb);if(c){var v=1/this._p,m=(u?1:-1)*(qb-v);this._add("A",n,i,y,1,+u,t+n*Zb(o+m),e+i*Ub(o+m)),v>.01&&this._add("A",n,i,y,0,+u,f,g)}else{var x=t+n*Zb(a),_=e+i*Ub(a);this._add("A",n,i,y,+d,+u,x,_)}},t.prototype.rect=function(t,e,n,i){this._add("M",t,e),this._add("l",n,0),this._add("l",0,i),this._add("l",-n,0),this._add("Z")},t.prototype.closePath=function(){this._d.length>0&&this._add("Z")},t.prototype._add=function(t,e,n,i,r,o,a,s,l){for(var u=[],h=this._p,c=1;c"}(r,o)+("style"!==r?re(a):a||"")+(i?""+n+z(i,(function(e){return t(e)})).join(n)+n:"")+("")}(t)}function uw(t){return{zrId:t,shadowCache:{},patternCache:{},gradientCache:{},clipPathCache:{},defs:{},cssNodes:{},cssAnims:{},cssStyleCache:{},cssAnimIdx:0,shadowIdx:0,gradientIdx:0,patternIdx:0,clipPathIdx:0}}function hw(t,e,n,i){return sw("svg","root",{width:t,height:e,xmlns:iw,"xmlns:xlink":rw,version:"1.1",baseProfile:"full",viewBox:!!i&&"0 0 "+t+" "+e},n)}var cw=0;function pw(){return cw++}var dw={cubicIn:"0.32,0,0.67,0",cubicOut:"0.33,1,0.68,1",cubicInOut:"0.65,0,0.35,1",quadraticIn:"0.11,0,0.5,0",quadraticOut:"0.5,1,0.89,1",quadraticInOut:"0.45,0,0.55,1",quarticIn:"0.5,0,0.75,0",quarticOut:"0.25,1,0.5,1",quarticInOut:"0.76,0,0.24,1",quinticIn:"0.64,0,0.78,0",quinticOut:"0.22,1,0.36,1",quinticInOut:"0.83,0,0.17,1",sinusoidalIn:"0.12,0,0.39,0",sinusoidalOut:"0.61,1,0.88,1",sinusoidalInOut:"0.37,0,0.63,1",exponentialIn:"0.7,0,0.84,0",exponentialOut:"0.16,1,0.3,1",exponentialInOut:"0.87,0,0.13,1",circularIn:"0.55,0,1,0.45",circularOut:"0,0.55,0.45,1",circularInOut:"0.85,0,0.15,1"},fw="transform-origin";function gw(t,e,n){var i=A({},t.shape);A(i,e),t.buildPath(n,i);var r=new $b;return r.reset(wi(t)),n.rebuildPath(r,1),r.generateStr(),r.getStr()}function yw(t,e){var n=e.originX,i=e.originY;(n||i)&&(t[fw]=n+"px "+i+"px")}var vw={fill:"fill",opacity:"opacity",lineWidth:"stroke-width",lineDashOffset:"stroke-dashoffset"};function mw(t,e){var n=e.zrId+"-ani-"+e.cssAnimIdx++;return e.cssAnims[n]=t,n}function xw(t){return U(t)?dw[t]?"cubic-bezier("+dw[t]+")":Pn(t)?t:"":""}function _w(t,e,n,i){var r=t.animators,o=r.length,a=[];if(t instanceof ih){var s=function(t,e,n){var i,r,o=t.shape.paths,a={};if(E(o,(function(t){var e=uw(n.zrId);e.animation=!0,_w(t,{},e,!0);var o=e.cssAnims,s=e.cssNodes,l=G(o),u=l.length;if(u){var h=o[r=l[u-1]];for(var c in h){var p=h[c];a[c]=a[c]||{d:""},a[c].d+=p.d||""}for(var d in s){var f=s[d].animation;f.indexOf(r)>=0&&(i=f)}}})),i){e.d=!1;var s=mw(a,n);return i.replace(r,s)}}(t,e,n);if(s)a.push(s);else if(!o)return}else if(!o)return;for(var l={},u=0;u0})).length)return mw(h,n)+" "+r[0]+" both"}for(var y in l){(s=g(l[y]))&&a.push(s)}if(a.length){var v=n.zrId+"-cls-"+pw();n.cssNodes["."+v]={animation:a.join(",")},e.class=v}}function bw(t,e,n,i){var r=JSON.stringify(t),o=n.cssStyleCache[r];o||(o=n.zrId+"-cls-"+pw(),n.cssStyleCache[r]=o,n.cssNodes["."+o+(i?":hover":"")]=t),e.class=e.class?e.class+" "+o:o}var ww=Math.round;function Sw(t){return t&&U(t.src)}function Mw(t){return t&&X(t.toDataURL)}function Iw(t,e,n,i){nw((function(r,o){var a="fill"===r||"stroke"===r;a&&_i(o)?Ew(e,t,r,i):a&&vi(o)?zw(n,t,r,i):t[r]=a&&"none"===o?"transparent":o}),e,n,!1),function(t,e,n){var i=t.style;if(function(t){return t&&(t.shadowBlur||t.shadowOffsetX||t.shadowOffsetY)}(i)){var r=function(t){var e=t.style,n=t.getGlobalScale();return[e.shadowColor,(e.shadowBlur||0).toFixed(2),(e.shadowOffsetX||0).toFixed(2),(e.shadowOffsetY||0).toFixed(2),n[0],n[1]].join(",")}(t),o=n.shadowCache,a=o[r];if(!a){var s=t.getGlobalScale(),l=s[0],u=s[1];if(!l||!u)return;var h=i.shadowOffsetX||0,c=i.shadowOffsetY||0,p=i.shadowBlur,d=hi(i.shadowColor),f=d.opacity,g=d.color,y=p/2/l+" "+p/2/u;a=n.zrId+"-s"+n.shadowIdx++,n.defs[a]=sw("filter",a,{id:a,x:"-100%",y:"-100%",width:"300%",height:"300%"},[sw("feDropShadow","",{dx:h/l,dy:c/u,stdDeviation:y,"flood-color":g,"flood-opacity":f})]),o[r]=a}e.filter=bi(a)}}(n,t,i)}function Tw(t,e){var n=Ur(e);n&&(n.each((function(e,n){null!=e&&(t[(ow+n).toLowerCase()]=e+"")})),e.isSilent()&&(t[ow+"silent"]="true"))}function Cw(t){return pi(t[0]-1)&&pi(t[1])&&pi(t[2])&&pi(t[3]-1)}function Dw(t,e,n){if(e&&(!function(t){return pi(t[4])&&pi(t[5])}(e)||!Cw(e))){var i=n?10:1e4;t.transform=Cw(e)?"translate("+ww(e[4]*i)/i+" "+ww(e[5]*i)/i+")":function(t){return"matrix("+di(t[0])+","+di(t[1])+","+di(t[2])+","+di(t[3])+","+fi(t[4])+","+fi(t[5])+")"}(e)}}function Aw(t,e,n){for(var i=t.points,r=[],o=0;o=0&&a||o;s&&(r=si(s))}var l=i.lineWidth;l&&(l/=!i.strokeNoScale&&t.transform?t.transform[0]:1);var u={cursor:"pointer"};r&&(u.fill=r),i.stroke&&(u.stroke=i.stroke),l&&(u["stroke-width"]=l),bw(u,e,n,!0)}}(t,o,e),sw(s,t.id+"",o)}function Nw(t,e){return t instanceof ks?Rw(t,e):t instanceof Ns?function(t,e){var n=t.style,i=n.image;if(i&&!U(i)&&(Sw(i)?i=i.src:Mw(i)&&(i=i.toDataURL())),i){var r=n.x||0,o=n.y||0,a={href:i,width:n.width,height:n.height};return r&&(a.x=r),o&&(a.y=o),Dw(a,t.transform),Iw(a,n,t,e),Tw(a,t),e.animation&&_w(t,a,e),sw("image",t.id+"",a)}}(t,e):t instanceof Ps?function(t,e){var n=t.style,i=n.text;if(null!=i&&(i+=""),i&&!isNaN(n.x)&&!isNaN(n.y)){var r=n.font||a,s=n.x||0,l=function(t,e,n){return"top"===n?t+=e/2:"bottom"===n&&(t-=e/2),t}(n.y||0,Tr(r),n.textBaseline),u={"dominant-baseline":"central","text-anchor":gi[n.textAlign]||n.textAlign};if($s(n)){var h="",c=n.fontStyle,p=qs(n.fontSize);if(!parseFloat(p))return;var d=n.fontFamily||o,f=n.fontWeight;h+="font-size:"+p+";font-family:"+d+";",c&&"normal"!==c&&(h+="font-style:"+c+";"),f&&"normal"!==f&&(h+="font-weight:"+f+";"),u.style=h}else u.style="font: "+r;return i.match(/\s/)&&(u["xml:space"]="preserve"),s&&(u.x=s),l&&(u.y=l),Dw(u,t.transform),Iw(u,n,t,e),Tw(u,t),e.animation&&_w(t,u,e),sw("text",t.id+"",u,void 0,i)}}(t,e):void 0}function Ew(t,e,n,i){var r,o=t[n],a={gradientUnits:o.global?"userSpaceOnUse":"objectBoundingBox"};if(mi(o))r="linearGradient",a.x1=o.x,a.y1=o.y,a.x2=o.x2,a.y2=o.y2;else{if(!xi(o))return void 0;r="radialGradient",a.cx=rt(o.x,.5),a.cy=rt(o.y,.5),a.r=rt(o.r,.5)}for(var s=o.colorStops,l=[],u=0,h=s.length;ul?Jw(t,null==n[c+1]?null:n[c+1].elm,n,s,c):Qw(t,e,a,l))}(n,i,r):jw(r)?(jw(t.text)&&Xw(n,""),Jw(n,null,r,0,r.length-1)):jw(i)?Qw(n,i,0,i.length-1):jw(t.text)&&Xw(n,""):t.text!==e.text&&(jw(i)&&Qw(n,i,0,i.length-1),Xw(n,e.text)))}var nS=0,iS=function(){function t(t,e,n){if(this.type="svg",this.refreshHover=rS("refreshHover"),this.configLayer=rS("configLayer"),this.storage=e,this._opts=n=A({},n),this.root=t,this._id="zr"+nS++,this._oldVNode=hw(n.width,n.height),t&&!n.ssr){var i=this._viewport=document.createElement("div");i.style.cssText="position:relative;overflow:hidden";var r=this._svgDom=this._oldVNode.elm=aw("svg");tS(null,this._oldVNode),i.appendChild(r),t.appendChild(i)}this.resize(n.width,n.height)}return t.prototype.getType=function(){return this.type},t.prototype.getViewportRoot=function(){return this._viewport},t.prototype.getViewportRootOffset=function(){var t=this.getViewportRoot();if(t)return{offsetLeft:t.offsetLeft||0,offsetTop:t.offsetTop||0}},t.prototype.getSvgDom=function(){return this._svgDom},t.prototype.refresh=function(){if(this.root){var t=this.renderToVNode({willUpdate:!0});t.attrs.style="position:absolute;left:0;top:0;user-select:none",function(t,e){if(Kw(t,e))eS(t,e);else{var n=t.elm,i=Hw(n);$w(e),null!==i&&(Fw(i,e.elm,Yw(n)),Qw(i,[t],0,0))}}(this._oldVNode,t),this._oldVNode=t}},t.prototype.renderOneToVNode=function(t){return Nw(t,uw(this._id))},t.prototype.renderToVNode=function(t){t=t||{};var e=this.storage.getDisplayList(!0),n=this._width,i=this._height,r=uw(this._id);r.animation=t.animation,r.willUpdate=t.willUpdate,r.compress=t.compress,r.emphasis=t.emphasis;var o=[],a=this._bgVNode=function(t,e,n,i){var r;if(n&&"none"!==n)if(r=sw("rect","bg",{width:t,height:e,x:"0",y:"0"}),_i(n))Ew({fill:n},r.attrs,"fill",i);else if(vi(n))zw({style:{fill:n},dirty:bt,getBoundingRect:function(){return{width:t,height:e}}},r.attrs,"fill",i);else{var o=hi(n),a=o.color,s=o.opacity;r.attrs.fill=a,s<1&&(r.attrs["fill-opacity"]=s)}return r}(n,i,this._backgroundColor,r);a&&o.push(a);var s=t.compress?null:this._mainVNode=sw("g","main",{},[]);this._paintList(e,r,s?s.children:o),s&&o.push(s);var l=z(G(r.defs),(function(t){return r.defs[t]}));if(l.length&&o.push(sw("defs","defs",{},l)),t.animation){var u=function(t,e,n){var i=(n=n||{}).newline?"\n":"",r=" {"+i,o=i+"}",a=z(G(t),(function(e){return e+r+z(G(t[e]),(function(n){return n+":"+t[e][n]+";"})).join(i)+o})).join(i),s=z(G(e),(function(t){return"@keyframes "+t+r+z(G(e[t]),(function(n){return n+r+z(G(e[t][n]),(function(i){var r=e[t][n][i];return"d"===i&&(r='path("'+r+'")'),i+":"+r+";"})).join(i)+o})).join(i)+o})).join(i);return a||s?[""].join(i):""}(r.cssNodes,r.cssAnims,{newline:!0});if(u){var h=sw("style","stl",{},[],u);o.push(h)}}return hw(n,i,o,t.useViewBox)},t.prototype.renderToString=function(t){return t=t||{},lw(this.renderToVNode({animation:rt(t.cssAnimation,!0),emphasis:rt(t.cssEmphasis,!0),willUpdate:!1,compress:!0,useViewBox:rt(t.useViewBox,!0)}),{newline:!0})},t.prototype.setBackgroundColor=function(t){this._backgroundColor=t},t.prototype.getSvgRoot=function(){return this._mainVNode&&this._mainVNode.elm},t.prototype._paintList=function(t,e,n){for(var i,r,o=t.length,a=[],s=0,l=0,u=0;u=0&&(!c||!r||c[f]!==r[f]);f--);for(var g=d-1;g>f;g--)i=a[--s-1];for(var y=f+1;y=a)}}for(var h=this.__startIndex;h15)break}n.prevElClipPaths&&u.restore()};if(p)if(0===p.length)s=l.__endIndex;else for(var _=d.dpr,b=0;b0&&t>i[0]){for(s=0;st);s++);a=n[i[s]]}if(i.splice(s+1,0,t),n[t]=e,!e.virtual)if(a){var l=a.dom;l.nextSibling?o.insertBefore(e.dom,l.nextSibling):o.appendChild(e.dom)}else o.firstChild?o.insertBefore(e.dom,o.firstChild):o.appendChild(e.dom);e.painter||(e.painter=this)}},t.prototype.eachLayer=function(t,e){for(var n=this._zlevelList,i=0;i0?uS:0),this._needsManuallyCompositing),u.__builtin__||I("ZLevel "+l+" has been used by unkown layer "+u.id),u!==o&&(u.__used=!0,u.__startIndex!==r&&(u.__dirty=!0),u.__startIndex=r,u.incremental?u.__drawIndex=-1:u.__drawIndex=r,e(r),o=u),1&s.__dirty&&!s.__inHover&&(u.__dirty=!0,u.incremental&&u.__drawIndex<0&&(u.__drawIndex=r))}e(r),this.eachBuiltinLayer((function(t,e){!t.__used&&t.getElementCount()>0&&(t.__dirty=!0,t.__startIndex=t.__endIndex=t.__drawIndex=0),t.__dirty&&t.__drawIndex<0&&(t.__drawIndex=t.__startIndex)}))},t.prototype.clear=function(){return this.eachBuiltinLayer(this._clearLayer),this},t.prototype._clearLayer=function(t){t.clear()},t.prototype.setBackgroundColor=function(t){this._backgroundColor=t,E(this._layers,(function(t){t.setUnpainted()}))},t.prototype.configLayer=function(t,e){if(e){var n=this._layerConfig;n[t]?C(n[t],e,!0):n[t]=e;for(var i=0;i-1&&(s.style.stroke=s.style.fill,s.style.fill="#fff",s.style.lineWidth=2),e},e.type="series.line",e.dependencies=["grid","polar"],e.defaultOption={z:3,coordinateSystem:"cartesian2d",legendHoverLink:!0,clip:!0,label:{position:"top"},endLabel:{show:!1,valueAnimation:!0,distance:8},lineStyle:{width:2,type:"solid"},emphasis:{scale:!0},step:!1,smooth:!1,smoothMonotone:null,symbol:"emptyCircle",symbolSize:4,symbolRotate:null,showSymbol:!0,showAllSymbol:"auto",connectNulls:!1,sampling:"none",animationEasing:"linear",progressive:0,hoverLayerThreshold:1/0,universalTransition:{divideShape:"clone"},triggerLineEvent:!1},e}(bg);function pS(t,e){var n=t.mapDimensionsAll("defaultedLabel"),i=n.length;if(1===i){var r=mf(t,e,n[0]);return null!=r?r+"":null}if(i){for(var o=[],a=0;a=0&&i.push(e[o])}return i.join(" ")}var fS=function(t){function e(e,n,i,r){var o=t.call(this)||this;return o.updateData(e,n,i,r),o}return n(e,t),e.prototype._createSymbol=function(t,e,n,i,r){this.removeAll();var o=Xy(t,-1,-1,2,2,null,r);o.attr({z2:100,culling:!0,scaleX:i[0]/2,scaleY:i[1]/2}),o.drift=gS,this._symbolType=t,this.add(o)},e.prototype.stopSymbolAnimation=function(t){this.childAt(0).stopAnimation(null,t)},e.prototype.getSymbolType=function(){return this._symbolType},e.prototype.getSymbolPath=function(){return this.childAt(0)},e.prototype.highlight=function(){Ol(this.childAt(0))},e.prototype.downplay=function(){Rl(this.childAt(0))},e.prototype.setZ=function(t,e){var n=this.childAt(0);n.zlevel=t,n.z=e},e.prototype.setDraggable=function(t,e){var n=this.childAt(0);n.draggable=t,n.cursor=!e&&t?"move":n.cursor},e.prototype.updateData=function(t,n,i,r){this.silent=!1;var o=t.getItemVisual(n,"symbol")||"circle",a=t.hostModel,s=e.getSymbolSize(t,n),l=o!==this._symbolType,u=r&&r.disableAnimation;if(l){var h=t.getItemVisual(n,"symbolKeepAspect");this._createSymbol(o,t,n,s,h)}else{(p=this.childAt(0)).silent=!1;var c={scaleX:s[0]/2,scaleY:s[1]/2};u?p.attr(c):vh(p,c,a,n),Sh(p)}if(this._updateCommon(t,n,s,i,r),l){var p=this.childAt(0);if(!u){c={scaleX:this._sizeX,scaleY:this._sizeY,style:{opacity:p.style.opacity}};p.scaleX=p.scaleY=0,p.style.opacity=0,mh(p,c,a,n)}}u&&this.childAt(0).stopAnimation("leave")},e.prototype._updateCommon=function(t,e,n,i,r){var o,a,s,l,u,h,c,p,d,f=this.childAt(0),g=t.hostModel;if(i&&(o=i.emphasisItemStyle,a=i.blurItemStyle,s=i.selectItemStyle,l=i.focus,u=i.blurScope,c=i.labelStatesModels,p=i.hoverScale,d=i.cursorStyle,h=i.emphasisDisabled),!i||t.hasItemOption){var y=i&&i.itemModel?i.itemModel:t.getItemModel(e),v=y.getModel("emphasis");o=v.getModel("itemStyle").getItemStyle(),s=y.getModel(["select","itemStyle"]).getItemStyle(),a=y.getModel(["blur","itemStyle"]).getItemStyle(),l=v.get("focus"),u=v.get("blurScope"),h=v.get("disabled"),c=rc(y),p=v.getShallow("scale"),d=y.getShallow("cursor")}var m=t.getItemVisual(e,"symbolRotate");f.attr("rotation",(m||0)*Math.PI/180||0);var x=Zy(t.getItemVisual(e,"symbolOffset"),n);x&&(f.x=x[0],f.y=x[1]),d&&f.attr("cursor",d);var _=t.getItemVisual(e,"style"),b=_.fill;if(f instanceof Ns){var w=f.style;f.useStyle(A({image:w.image,x:w.x,y:w.y,width:w.width,height:w.height},_))}else f.__isEmptyBrush?f.useStyle(A({},_)):f.useStyle(_),f.style.decal=null,f.setColor(b,r&&r.symbolInnerColor),f.style.strokeNoScale=!0;var S=t.getItemVisual(e,"liftZ"),M=this._z2;null!=S?null==M&&(this._z2=f.z2,f.z2+=S):null!=M&&(f.z2=M,this._z2=null);var I=r&&r.useNameLabel;ic(f,c,{labelFetcher:g,labelDataIndex:e,defaultText:function(e){return I?t.getName(e):pS(t,e)},inheritColor:b,defaultOpacity:_.opacity}),this._sizeX=n[0]/2,this._sizeY=n[1]/2;var T=f.ensureState("emphasis");T.style=o,f.ensureState("select").style=s,f.ensureState("blur").style=a;var C=null==p||!0===p?Math.max(1.1,3/this._sizeY):isFinite(p)&&p>0?+p:1;T.scaleX=this._sizeX*C,T.scaleY=this._sizeY*C,this.setSymbolScale(1),Zl(this,l,u,h)},e.prototype.setSymbolScale=function(t){this.scaleX=this.scaleY=t},e.prototype.fadeOut=function(t,e,n){var i=this.childAt(0),r=rl(this).dataIndex,o=n&&n.animation;if(this.silent=i.silent=!0,n&&n.fadeLabel){var a=i.getTextContent();a&&_h(a,{style:{opacity:0}},e,{dataIndex:r,removeOpt:o,cb:function(){i.removeTextContent()}})}else i.removeTextContent();_h(i,{style:{opacity:0},scaleX:0,scaleY:0},e,{dataIndex:r,cb:t,removeOpt:o})},e.getSymbolSize=function(t,e){return Uy(t.getItemVisual(e,"symbolSize"))},e}(Br);function gS(t,e){this.parent.drift(t,e)}function yS(t,e,n,i){return e&&!isNaN(e[0])&&!isNaN(e[1])&&!(i.isIgnore&&i.isIgnore(n))&&!(i.clipShape&&!i.clipShape.contain(e[0],e[1]))&&"none"!==t.getItemVisual(n,"symbol")}function vS(t){return null==t||q(t)||(t={isIgnore:t}),t||{}}function mS(t){var e=t.hostModel,n=e.getModel("emphasis");return{emphasisItemStyle:n.getModel("itemStyle").getItemStyle(),blurItemStyle:e.getModel(["blur","itemStyle"]).getItemStyle(),selectItemStyle:e.getModel(["select","itemStyle"]).getItemStyle(),focus:n.get("focus"),blurScope:n.get("blurScope"),emphasisDisabled:n.get("disabled"),hoverScale:n.get("scale"),labelStatesModels:rc(e),cursorStyle:e.get("cursor")}}var xS=function(){function t(t){this.group=new Br,this._SymbolCtor=t||fS}return t.prototype.updateData=function(t,e){this._progressiveEls=null,e=vS(e);var n=this.group,i=t.hostModel,r=this._data,o=this._SymbolCtor,a=e.disableAnimation,s=mS(t),l={disableAnimation:a},u=e.getSymbolPoint||function(e){return t.getItemLayout(e)};r||n.removeAll(),t.diff(r).add((function(i){var r=u(i);if(yS(t,r,i,e)){var a=new o(t,i,s,l);a.setPosition(r),t.setItemGraphicEl(i,a),n.add(a)}})).update((function(h,c){var p=r.getItemGraphicEl(c),d=u(h);if(yS(t,d,h,e)){var f=t.getItemVisual(h,"symbol")||"circle",g=p&&p.getSymbolType&&p.getSymbolType();if(!p||g&&g!==f)n.remove(p),(p=new o(t,h,s,l)).setPosition(d);else{p.updateData(t,h,s,l);var y={x:d[0],y:d[1]};a?p.attr(y):vh(p,y,i)}n.add(p),t.setItemGraphicEl(h,p)}else n.remove(p)})).remove((function(t){var e=r.getItemGraphicEl(t);e&&e.fadeOut((function(){n.remove(e)}),i)})).execute(),this._getSymbolPoint=u,this._data=t},t.prototype.updateLayout=function(){var t=this,e=this._data;e&&e.eachItemGraphicEl((function(e,n){var i=t._getSymbolPoint(n);e.setPosition(i),e.markRedraw()}))},t.prototype.incrementalPrepareUpdate=function(t){this._seriesScope=mS(t),this._data=null,this.group.removeAll()},t.prototype.incrementalUpdate=function(t,e,n){function i(t){t.isGroup||(t.incremental=!0,t.ensureState("emphasis").hoverLayer=!0)}this._progressiveEls=[],n=vS(n);for(var r=t.start;r0?n=i[0]:i[1]<0&&(n=i[1]);return n}(r,n),a=i.dim,s=r.dim,l=e.mapDimension(s),u=e.mapDimension(a),h="x"===s||"radius"===s?1:0,c=z(t.dimensions,(function(t){return e.mapDimension(t)})),p=!1,d=e.getCalculationInfo("stackResultDimension");return mx(e,c[0])&&(p=!0,c[0]=d),mx(e,c[1])&&(p=!0,c[1]=d),{dataDimsForPoint:c,valueStart:o,valueAxisDim:s,baseAxisDim:a,stacked:!!p,valueDim:l,baseDim:u,baseDataOffset:h,stackedOverDimension:e.getCalculationInfo("stackedOverDimension")}}function bS(t,e,n,i){var r=NaN;t.stacked&&(r=n.get(n.getCalculationInfo("stackedOverDimension"),i)),isNaN(r)&&(r=t.valueStart);var o=t.baseDataOffset,a=[];return a[o]=n.get(t.baseDim,i),a[1-o]=r,e.dataToPoint(a)}var wS=Math.min,SS=Math.max;function MS(t,e){return isNaN(t)||isNaN(e)}function IS(t,e,n,i,r,o,a,s,l){for(var u,h,c,p,d,f,g=n,y=0;y=r||g<0)break;if(MS(v,m)){if(l){g+=o;continue}break}if(g===n)t[o>0?"moveTo":"lineTo"](v,m),c=v,p=m;else{var x=v-u,_=m-h;if(x*x+_*_<.5){g+=o;continue}if(a>0){for(var b=g+o,w=e[2*b],S=e[2*b+1];w===v&&S===m&&y=i||MS(w,S))d=v,f=m;else{T=w-u,C=S-h;var k=v-u,L=w-v,P=m-h,O=S-m,R=void 0,N=void 0;if("x"===s){var E=T>0?1:-1;d=v-E*(R=Math.abs(k))*a,f=m,D=v+E*(N=Math.abs(L))*a,A=m}else if("y"===s){var z=C>0?1:-1;d=v,f=m-z*(R=Math.abs(P))*a,D=v,A=m+z*(N=Math.abs(O))*a}else R=Math.sqrt(k*k+P*P),d=v-T*a*(1-(I=(N=Math.sqrt(L*L+O*O))/(N+R))),f=m-C*a*(1-I),A=m+C*a*I,D=wS(D=v+T*a*I,SS(w,v)),A=wS(A,SS(S,m)),D=SS(D,wS(w,v)),f=m-(C=(A=SS(A,wS(S,m)))-m)*R/N,d=wS(d=v-(T=D-v)*R/N,SS(u,v)),f=wS(f,SS(h,m)),D=v+(T=v-(d=SS(d,wS(u,v))))*N/R,A=m+(C=m-(f=SS(f,wS(h,m))))*N/R}t.bezierCurveTo(c,p,d,f,v,m),c=D,p=A}else t.lineTo(v,m)}u=v,h=m,g+=o}return y}var TS=function(){this.smooth=0,this.smoothConstraint=!0},CS=function(t){function e(e){var n=t.call(this,e)||this;return n.type="ec-polyline",n}return n(e,t),e.prototype.getDefaultStyle=function(){return{stroke:"#000",fill:null}},e.prototype.getDefaultShape=function(){return new TS},e.prototype.buildPath=function(t,e){var n=e.points,i=0,r=n.length/2;if(e.connectNulls){for(;r>0&&MS(n[2*r-2],n[2*r-1]);r--);for(;i=0){var y=a?(h-i)*g+i:(u-n)*g+n;return a?[t,y]:[y,t]}n=u,i=h;break;case o.C:u=r[l++],h=r[l++],c=r[l++],p=r[l++],d=r[l++],f=r[l++];var v=a?_n(n,u,c,d,t,s):_n(i,h,p,f,t,s);if(v>0)for(var m=0;m=0){y=a?mn(i,h,p,f,x):mn(n,u,c,d,x);return a?[t,y]:[y,t]}}n=d,i=f}}},e}(ks),DS=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n(e,t),e}(TS),AS=function(t){function e(e){var n=t.call(this,e)||this;return n.type="ec-polygon",n}return n(e,t),e.prototype.getDefaultShape=function(){return new DS},e.prototype.buildPath=function(t,e){var n=e.points,i=e.stackedOnPoints,r=0,o=n.length/2,a=e.smoothMonotone;if(e.connectNulls){for(;o>0&&MS(n[2*o-2],n[2*o-1]);o--);for(;r=0;a--){var s=t.getDimensionInfo(i[a].dimension);if("x"===(r=s&&s.coordDim)||"y"===r){o=i[a];break}}if(o){var l=e.getAxis(r),u=z(o.stops,(function(t){return{coord:l.toGlobalCoord(l.dataToCoord(t.value)),color:t.color}})),h=u.length,c=o.outerColors.slice();h&&u[0].coord>u[h-1].coord&&(u.reverse(),c.reverse());var p=function(t,e){var n,i,r=[],o=t.length;function a(t,e,n){var i=t.coord;return{coord:n,color:ti((n-i)/(e.coord-i),[t.color,e.color])}}for(var s=0;se){i?r.push(a(i,l,e)):n&&r.push(a(n,l,0),a(n,l,e));break}n&&(r.push(a(n,l,0)),n=null),r.push(l),i=l}}return r}(u,"x"===r?n.getWidth():n.getHeight()),d=p.length;if(!d&&h)return u[0].coord<0?c[1]?c[1]:u[h-1].color:c[0]?c[0]:u[0].color;var f=p[0].coord-10,g=p[d-1].coord+10,y=g-f;if(y<.001)return"transparent";E(p,(function(t){t.offset=(t.coord-f)/y})),p.push({offset:d?p[d-1].offset:.5,color:c[1]||"transparent"}),p.unshift({offset:d?p[0].offset:.5,color:c[0]||"transparent"});var v=new oh(0,0,0,0,p,!0);return v[r]=f,v[r+"2"]=g,v}}}function FS(t,e,n){var i=t.get("showAllSymbol"),r="auto"===i;if(!i||r){var o=n.getAxesByScale("ordinal")[0];if(o&&(!r||!function(t,e){var n=t.getExtent(),i=Math.abs(n[1]-n[0])/t.scale.count();isNaN(i)&&(i=0);for(var r=e.count(),o=Math.max(1,Math.round(r/5)),a=0;ai)return!1;return!0}(o,e))){var a=e.mapDimension(o.dim),s={};return E(o.getViewLabels(),(function(t){var e=o.scale.getRawOrdinalNumber(t.tickValue);s[e]=1})),function(t){return!s.hasOwnProperty(e.get(a,t))}}}}function GS(t,e){return[t[2*e],t[2*e+1]]}function WS(t){if(t.get(["endLabel","show"]))return!0;for(var e=0;e0&&"bolder"===t.get(["emphasis","lineStyle","width"]))&&(d.getState("emphasis").style.lineWidth=+d.style.lineWidth+1);rl(d).seriesIndex=t.seriesIndex,Zl(d,L,P,O);var R=zS(t.get("smooth")),N=t.get("smoothMonotone");if(d.setShape({smooth:R,smoothMonotone:N,connectNulls:w}),f){var E=a.getCalculationInfo("stackedOnSeries"),z=0;f.useStyle(k(l.getAreaStyle(),{fill:C,opacity:.7,lineJoin:"bevel",decal:a.getVisual("style").decal})),E&&(z=zS(E.get("smooth"))),f.setShape({smooth:R,stackedOnSmooth:z,smoothMonotone:N,connectNulls:w}),$l(f,t,"areaStyle"),rl(f).seriesIndex=t.seriesIndex,Zl(f,L,P,O)}var V=function(t){i._changePolyState(t)};a.eachItemGraphicEl((function(t){t&&(t.onHoverStateChange=V)})),this._polyline.onHoverStateChange=V,this._data=a,this._coordSys=r,this._stackedOnPoints=_,this._points=u,this._step=T,this._valueOrigin=m,t.get("triggerLineEvent")&&(this.packEventData(t,d),f&&this.packEventData(t,f))},e.prototype.packEventData=function(t,e){rl(e).eventData={componentType:"series",componentSubType:"line",componentIndex:t.componentIndex,seriesIndex:t.seriesIndex,seriesName:t.name,seriesType:"line"}},e.prototype.highlight=function(t,e,n,i){var r=t.getData(),o=zo(r,i);if(this._changePolyState("emphasis"),!(o instanceof Array)&&null!=o&&o>=0){var a=r.getLayout("points"),s=r.getItemGraphicEl(o);if(!s){var l=a[2*o],u=a[2*o+1];if(isNaN(l)||isNaN(u))return;if(this._clipShapeForSymbol&&!this._clipShapeForSymbol.contain(l,u))return;var h=t.get("zlevel")||0,c=t.get("z")||0;(s=new fS(r,o)).x=l,s.y=u,s.setZ(h,c);var p=s.getSymbolPath().getTextContent();p&&(p.zlevel=h,p.z=c,p.z2=this._polyline.z2+1),s.__temp=!0,r.setItemGraphicEl(o,s),s.stopSymbolAnimation(!0),this.group.add(s)}s.highlight()}else Og.prototype.highlight.call(this,t,e,n,i)},e.prototype.downplay=function(t,e,n,i){var r=t.getData(),o=zo(r,i);if(this._changePolyState("normal"),null!=o&&o>=0){var a=r.getItemGraphicEl(o);a&&(a.__temp?(r.setItemGraphicEl(o,null),this.group.remove(a)):a.downplay())}else Og.prototype.downplay.call(this,t,e,n,i)},e.prototype._changePolyState=function(t){var e=this._polygon;Dl(this._polyline,t),e&&Dl(e,t)},e.prototype._newPolyline=function(t){var e=this._polyline;return e&&this._lineGroup.remove(e),e=new CS({shape:{points:t},segmentIgnoreThreshold:2,z2:10}),this._lineGroup.add(e),this._polyline=e,e},e.prototype._newPolygon=function(t,e){var n=this._polygon;return n&&this._lineGroup.remove(n),n=new AS({shape:{points:t,stackedOnPoints:e},segmentIgnoreThreshold:2}),this._lineGroup.add(n),this._polygon=n,n},e.prototype._initSymbolLabelAnimation=function(t,e,n){var i,r,o=e.getBaseAxis(),a=o.inverse;"cartesian2d"===e.type?(i=o.isHorizontal(),r=!1):"polar"===e.type&&(i="angle"===o.dim,r=!0);var s=t.hostModel,l=s.get("animationDuration");X(l)&&(l=l(null));var u=s.get("animationDelay")||0,h=X(u)?u(null):u;t.eachItemGraphicEl((function(t,o){var s=t;if(s){var c=[t.x,t.y],p=void 0,d=void 0,f=void 0;if(n)if(r){var g=n,y=e.pointToCoord(c);i?(p=g.startAngle,d=g.endAngle,f=-y[1]/180*Math.PI):(p=g.r0,d=g.r,f=y[0])}else{var v=n;i?(p=v.x,d=v.x+v.width,f=t.x):(p=v.y+v.height,d=v.y,f=t.y)}var m=d===p?0:(f-p)/(d-p);a&&(m=1-m);var x=X(u)?u(o):l*m+h,_=s.getSymbolPath(),b=_.getTextContent();s.attr({scaleX:0,scaleY:0}),s.animateTo({scaleX:1,scaleY:1},{duration:200,setToFinal:!0,delay:x}),b&&b.animateFrom({style:{opacity:0}},{duration:300,delay:x}),_.disableLabelAnimation=!0}}))},e.prototype._initOrUpdateEndLabel=function(t,e,n){var i=t.getModel("endLabel");if(WS(t)){var r=t.getData(),o=this._polyline,a=r.getLayout("points");if(!a)return o.removeTextContent(),void(this._endLabel=null);var s=this._endLabel;s||((s=this._endLabel=new Xs({z2:200})).ignoreClip=!0,o.setTextContent(this._endLabel),o.disableLabelAnimation=!0);var l=function(t){for(var e,n,i=t.length/2;i>0&&(e=t[2*i-2],n=t[2*i-1],isNaN(e)||isNaN(n));i--);return i-1}(a);l>=0&&(ic(o,rc(t,"endLabel"),{inheritColor:n,labelFetcher:t,labelDataIndex:l,defaultText:function(t,e,n){return null!=n?dS(r,n):pS(r,t)},enableTextSetter:!0},function(t,e){var n=e.getBaseAxis(),i=n.isHorizontal(),r=n.inverse,o=i?r?"right":"left":"center",a=i?"middle":r?"top":"bottom";return{normal:{align:t.get("align")||o,verticalAlign:t.get("verticalAlign")||a}}}(i,e)),o.textConfig.position=null)}else this._endLabel&&(this._polyline.removeTextContent(),this._endLabel=null)},e.prototype._endLabelOnDuring=function(t,e,n,i,r,o,a){var s=this._endLabel,l=this._polyline;if(s){t<1&&null==i.originalX&&(i.originalX=s.x,i.originalY=s.y);var u=n.getLayout("points"),h=n.hostModel,c=h.get("connectNulls"),p=o.get("precision"),d=o.get("distance")||0,f=a.getBaseAxis(),g=f.isHorizontal(),y=f.inverse,v=e.shape,m=y?g?v.x:v.y+v.height:g?v.x+v.width:v.y,x=(g?d:0)*(y?-1:1),_=(g?0:-d)*(y?-1:1),b=g?"x":"y",w=function(t,e,n){for(var i,r,o=t.length/2,a="x"===n?0:1,s=0,l=-1,u=0;u=e||i>=e&&r<=e){l=u;break}s=u,i=r}else i=r;return{range:[s,l],t:(e-i)/(r-i)}}(u,m,b),S=w.range,M=S[1]-S[0],I=void 0;if(M>=1){if(M>1&&!c){var T=GS(u,S[0]);s.attr({x:T[0]+x,y:T[1]+_}),r&&(I=h.getRawValue(S[0]))}else{(T=l.getPointOn(m,b))&&s.attr({x:T[0]+x,y:T[1]+_});var C=h.getRawValue(S[0]),D=h.getRawValue(S[1]);r&&(I=Zo(n,p,C,D,w.t))}i.lastFrameIndex=S[0]}else{var A=1===t||i.lastFrameIndex>0?S[0]:0;T=GS(u,A);r&&(I=h.getRawValue(A)),s.attr({x:T[0]+x,y:T[1]+_})}if(r){var k=pc(s);"function"==typeof k.setLabelText&&k.setLabelText(I)}}},e.prototype._doUpdateAnimation=function(t,e,n,i,r,o,a){var s=this._polyline,l=this._polygon,u=t.hostModel,h=function(t,e,n,i,r,o,a,s){for(var l=function(t,e){var n=[];return e.diff(t).add((function(t){n.push({cmd:"+",idx:t})})).update((function(t,e){n.push({cmd:"=",idx:e,idx1:t})})).remove((function(t){n.push({cmd:"-",idx:t})})).execute(),n}(t,e),u=[],h=[],c=[],p=[],d=[],f=[],g=[],y=_S(r,e,a),v=t.getLayout("points")||[],m=e.getLayout("points")||[],x=0;x3e3||l&&ES(p,f)>3e3)return s.stopAnimation(),s.setShape({points:d}),void(l&&(l.stopAnimation(),l.setShape({points:d,stackedOnPoints:f})));s.shape.__points=h.current,s.shape.points=c;var g={shape:{points:d}};h.current!==c&&(g.shape.__points=h.next),s.stopAnimation(),vh(s,g,u),l&&(l.setShape({points:c,stackedOnPoints:p}),l.stopAnimation(),vh(l,{shape:{stackedOnPoints:f}},u),s.shape.points!==l.shape.points&&(l.shape.points=s.shape.points));for(var y=[],v=h.status,m=0;me&&(e=t[n]);return isFinite(e)?e:NaN},min:function(t){for(var e=1/0,n=0;ne&&(e=o,n=r)}return isFinite(n)?n:NaN},nearest:function(t){return t[0]}},ZS=function(t){return Math.round(t.length/2)};function jS(t){return{seriesType:t,reset:function(t,e,n){var i=t.getData(),r=t.get("sampling"),o=t.coordinateSystem,a=i.count();if(a>10&&"cartesian2d"===o.type&&r){var s=o.getBaseAxis(),l=o.getOtherAxis(s),u=s.getExtent(),h=n.getDevicePixelRatio(),c=Math.abs(u[1]-u[0])*(h||1),p=Math.round(a/c);if(isFinite(p)&&p>1){"lttb"===r&&t.setData(i.lttbDownSample(i.mapDimension(l.dim),1/p));var d=void 0;U(r)?d=US[r]:X(r)&&(d=r),d&&t.setData(i.downSample(i.mapDimension(l.dim),1/p,d,ZS))}}}}}var qS=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.getInitialData=function(t,e){return _x(null,this,{useEncodeDefaulter:!0})},e.prototype.getMarkerPosition=function(t,e,n){var i=this.coordinateSystem;if(i&&i.clampData){var r=i.clampData(t),o=i.dataToPoint(r);if(n)E(i.getAxes(),(function(t,n){if("category"===t.type&&null!=e){var i=t.getTicksCoords(),a=t.getTickModel().get("alignWithLabel"),s=r[n],l="x1"===e[n]||"y1"===e[n];if(l&&!a&&(s+=1),i.length<2)return;if(2===i.length)return void(o[n]=t.toGlobalCoord(t.getExtent()[l?1:0]));for(var u=void 0,h=void 0,c=1,p=0;ps){h=(d+u)/2;break}1===p&&(c=f-i[0].tickValue)}null==h&&(u?u&&(h=i[i.length-1].coord):h=i[0].coord),o[n]=t.toGlobalCoord(h)}}));else{var a=this.getData(),s=a.getLayout("offset"),l=a.getLayout("size"),u=i.getBaseAxis().isHorizontal()?0:1;o[u]+=s+l/2}return o}return[NaN,NaN]},e.type="series.__base_bar__",e.defaultOption={z:2,coordinateSystem:"cartesian2d",legendHoverLink:!0,barMinHeight:0,barMinAngle:0,large:!1,largeThreshold:400,progressive:3e3,progressiveChunkMode:"mod"},e}(bg);bg.registerClass(qS);var KS=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.getInitialData=function(){return _x(null,this,{useEncodeDefaulter:!0,createInvertedIndices:!!this.get("realtimeSort",!0)||null})},e.prototype.getProgressive=function(){return!!this.get("large")&&this.get("progressive")},e.prototype.getProgressiveThreshold=function(){var t=this.get("progressiveThreshold"),e=this.get("largeThreshold");return e>t&&(t=e),t},e.prototype.brushSelector=function(t,e,n){return n.rect(e.getItemLayout(t))},e.type="series.bar",e.dependencies=["grid","polar"],e.defaultOption=kc(qS.defaultOption,{clip:!0,roundCap:!1,showBackground:!1,backgroundStyle:{color:"rgba(180, 180, 180, 0.2)",borderColor:null,borderWidth:0,borderType:"solid",borderRadius:0,shadowBlur:0,shadowColor:null,shadowOffsetX:0,shadowOffsetY:0,opacity:1},select:{itemStyle:{borderColor:"#212121"}},realtimeSort:!1}),e}(qS),$S=function(){this.cx=0,this.cy=0,this.r0=0,this.r=0,this.startAngle=0,this.endAngle=2*Math.PI,this.clockwise=!0},JS=function(t){function e(e){var n=t.call(this,e)||this;return n.type="sausage",n}return n(e,t),e.prototype.getDefaultShape=function(){return new $S},e.prototype.buildPath=function(t,e){var n=e.cx,i=e.cy,r=Math.max(e.r0||0,0),o=Math.max(e.r,0),a=.5*(o-r),s=r+a,l=e.startAngle,u=e.endAngle,h=e.clockwise,c=2*Math.PI,p=h?u-lo)return!0;o=u}return!1},e.prototype._isOrderDifferentInView=function(t,e){for(var n=e.scale,i=n.getExtent(),r=Math.max(0,i[0]),o=Math.min(i[1],n.getOrdinalMeta().categories.length-1);r<=o;++r)if(t.ordinalNumbers[r]!==n.getRawOrdinalNumber(r))return!0},e.prototype._updateSortWithinSameData=function(t,e,n,i){if(this._isOrderChangedWithinSameData(t,e,n)){var r=this._dataSort(t,n,e);this._isOrderDifferentInView(r,n)&&(this._removeOnRenderedListener(i),i.dispatchAction({type:"changeAxisOrder",componentType:n.dim+"Axis",axisId:n.index,sortInfo:r}))}},e.prototype._dispatchInitSort=function(t,e,n){var i=e.baseAxis,r=this._dataSort(t,i,(function(n){return t.get(t.mapDimension(e.otherAxis.dim),n)}));n.dispatchAction({type:"changeAxisOrder",componentType:i.dim+"Axis",isInitSort:!0,axisId:i.index,sortInfo:r})},e.prototype.remove=function(t,e){this._clear(this._model),this._removeOnRenderedListener(e)},e.prototype.dispose=function(t,e){this._removeOnRenderedListener(e)},e.prototype._removeOnRenderedListener=function(t){this._onRendered&&(t.getZr().off("rendered",this._onRendered),this._onRendered=null)},e.prototype._clear=function(t){var e=this.group,n=this._data;t&&t.isAnimationEnabled()&&n&&!this._isLargeDraw?(this._removeBackground(),this._backgroundEls=[],n.eachItemGraphicEl((function(e){wh(e,t,rl(e).dataIndex)}))):e.removeAll(),this._data=null,this._isFirstFrame=!0},e.prototype._removeBackground=function(){this.group.remove(this._backgroundGroup),this._backgroundGroup=null},e.type="bar",e}(Og),oM={cartesian2d:function(t,e){var n=e.width<0?-1:1,i=e.height<0?-1:1;n<0&&(e.x+=e.width,e.width=-e.width),i<0&&(e.y+=e.height,e.height=-e.height);var r=t.x+t.width,o=t.y+t.height,a=nM(e.x,t.x),s=iM(e.x+e.width,r),l=nM(e.y,t.y),u=iM(e.y+e.height,o),h=sr?s:a,e.y=c&&l>o?u:l,e.width=h?0:s-a,e.height=c?0:u-l,n<0&&(e.x+=e.width,e.width=-e.width),i<0&&(e.y+=e.height,e.height=-e.height),h||c},polar:function(t,e){var n=e.r0<=e.r?1:-1;if(n<0){var i=e.r;e.r=e.r0,e.r0=i}var r=iM(e.r,t.r),o=nM(e.r0,t.r0);e.r=r,e.r0=o;var a=r-o<0;if(n<0){i=e.r;e.r=e.r0,e.r0=i}return a}},aM={cartesian2d:function(t,e,n,i,r,o,a,s,l){var u=new Ws({shape:A({},i),z2:1});(u.__dataIndex=n,u.name="item",o)&&(u.shape[r?"height":"width"]=0);return u},polar:function(t,e,n,i,r,o,a,s,l){var u=!r&&l?JS:Fu,h=new u({shape:i,z2:1});h.name="item";var c,p,d=dM(r);if(h.calculateTextPosition=(c=d,p=({isRoundCap:u===JS}||{}).isRoundCap,function(t,e,n){var i=e.position;if(!i||i instanceof Array)return Dr(t,e,n);var r=c(i),o=null!=e.distance?e.distance:5,a=this.shape,s=a.cx,l=a.cy,u=a.r,h=a.r0,d=(u+h)/2,f=a.startAngle,g=a.endAngle,y=(f+g)/2,v=p?Math.abs(u-h)/2:0,m=Math.cos,x=Math.sin,_=s+u*m(f),b=l+u*x(f),w="left",S="top";switch(r){case"startArc":_=s+(h-o)*m(y),b=l+(h-o)*x(y),w="center",S="top";break;case"insideStartArc":_=s+(h+o)*m(y),b=l+(h+o)*x(y),w="center",S="bottom";break;case"startAngle":_=s+d*m(f)+QS(f,o+v,!1),b=l+d*x(f)+tM(f,o+v,!1),w="right",S="middle";break;case"insideStartAngle":_=s+d*m(f)+QS(f,-o+v,!1),b=l+d*x(f)+tM(f,-o+v,!1),w="left",S="middle";break;case"middle":_=s+d*m(y),b=l+d*x(y),w="center",S="middle";break;case"endArc":_=s+(u+o)*m(y),b=l+(u+o)*x(y),w="center",S="bottom";break;case"insideEndArc":_=s+(u-o)*m(y),b=l+(u-o)*x(y),w="center",S="top";break;case"endAngle":_=s+d*m(g)+QS(g,o+v,!0),b=l+d*x(g)+tM(g,o+v,!0),w="left",S="middle";break;case"insideEndAngle":_=s+d*m(g)+QS(g,-o+v,!0),b=l+d*x(g)+tM(g,-o+v,!0),w="right",S="middle";break;default:return Dr(t,e,n)}return(t=t||{}).x=_,t.y=b,t.align=w,t.verticalAlign=S,t}),o){var f=r?"r":"endAngle",g={};h.shape[f]=r?i.r0:i.startAngle,g[f]=i[f],(s?vh:mh)(h,{shape:g},o)}return h}};function sM(t,e,n,i,r,o,a,s){var l,u;o?(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||(a?vh:mh)(n,{shape:l},e,r,null),(a?vh:mh)(n,{shape:u},e?t.baseAxis.model:null,r)}function lM(t,e){for(var n=0;n0?1:-1,a=i.height>0?1:-1;return{x:i.x+o*r/2,y:i.y+a*r/2,width:i.width-o*r,height:i.height-a*r}},polar:function(t,e,n){var i=t.getItemLayout(e);return{cx:i.cx,cy:i.cy,r0:i.r0,r:i.r,startAngle:i.startAngle,endAngle:i.endAngle,clockwise:i.clockwise}}};function dM(t){return function(t){var e=t?"Arc":"Angle";return function(t){switch(t){case"start":case"insideStart":case"end":case"insideEnd":return t+e;default:return t}}}(t)}function fM(t,e,n,i,r,o,a,s){var l=e.getItemVisual(n,"style");if(s){if(!o.get("roundCap")){var u=t.shape;A(u,eM(i.getModel("itemStyle"),u,!0)),t.setShape(u)}}else{var h=i.get(["itemStyle","borderRadius"])||0;t.setShape("r",h)}t.useStyle(l);var c=i.getShallow("cursor");c&&t.attr("cursor",c);var p=s?a?r.r>=r.r0?"endArc":"startArc":r.endAngle>=r.startAngle?"endAngle":"startAngle":a?r.height>=0?"bottom":"top":r.width>=0?"right":"left",d=rc(i);ic(t,d,{labelFetcher:o,labelDataIndex:n,defaultText:pS(o.getData(),n),inheritColor:l.fill,defaultOpacity:l.opacity,defaultOutsidePosition:p});var f=t.getTextContent();if(s&&f){var g=i.get(["label","position"]);t.textConfig.inside="middle"===g||null,function(t,e,n,i){if(j(i))t.setTextConfig({rotation:i});else if(Y(e))t.setTextConfig({rotation:0});else{var r,o=t.shape,a=o.clockwise?o.startAngle:o.endAngle,s=o.clockwise?o.endAngle:o.startAngle,l=(a+s)/2,u=n(e);switch(u){case"startArc":case"insideStartArc":case"middle":case"insideEndArc":case"endArc":r=l;break;case"startAngle":case"insideStartAngle":r=a;break;case"endAngle":case"insideEndAngle":r=s;break;default:return void t.setTextConfig({rotation:0})}var h=1.5*Math.PI-r;"middle"===u&&h>Math.PI/2&&h<1.5*Math.PI&&(h-=Math.PI),t.setTextConfig({rotation:h})}}(t,"outside"===g?p:g,dM(a),i.get(["label","rotate"]))}dc(f,d,o.getRawValue(n),(function(t){return dS(e,t)}));var y=i.getModel(["emphasis"]);Zl(t,y.get("focus"),y.get("blurScope"),y.get("disabled")),$l(t,i),function(t){return null!=t.startAngle&&null!=t.endAngle&&t.startAngle===t.endAngle}(r)&&(t.style.fill="none",t.style.stroke="none",E(t.states,(function(t){t.style&&(t.style.fill=t.style.stroke="none")})))}var gM=function(){},yM=function(t){function e(e){var n=t.call(this,e)||this;return n.type="largeBar",n}return n(e,t),e.prototype.getDefaultShape=function(){return new gM},e.prototype.buildPath=function(t,e){for(var n=e.points,i=this.baseDimIdx,r=1-this.baseDimIdx,o=[],a=[],s=this.barWidth,l=0;l=s[0]&&e<=s[0]+l[0]&&n>=s[1]&&n<=s[1]+l[1])return a[h]}return-1}(this,t.offsetX,t.offsetY);rl(this).dataIndex=e>=0?e:null}),30,!1);function xM(t,e,n){if(OS(n,"cartesian2d")){var i=e,r=n.getArea();return{x:t?i.x:r.x,y:t?r.y:i.y,width:t?i.width:r.width,height:t?r.height:i.height}}var o=e;return{cx:(r=n.getArea()).cx,cy:r.cy,r0:t?r.r0:o.r0,r:t?r.r:o.r,startAngle:t?o.startAngle:0,endAngle:t?o.endAngle:2*Math.PI}}var _M=2*Math.PI,bM=Math.PI/180;function wM(t,e){return kp(t.getBoxLayoutParams(),{width:e.getWidth(),height:e.getHeight()})}function SM(t,e){var n=wM(t,e),i=t.get("center"),r=t.get("radius");Y(r)||(r=[0,r]);var o,a,s=$r(n.width,e.getWidth()),l=$r(n.height,e.getHeight()),u=Math.min(s,l),h=$r(r[0],u/2),c=$r(r[1],u/2),p=t.coordinateSystem;if(p){var d=p.dataToPoint(i);o=d[0]||0,a=d[1]||0}else Y(i)||(i=[i,i]),o=$r(i[0],s)+n.x,a=$r(i[1],l)+n.y;return{cx:o,cy:a,r0:h,r:c}}function MM(t,e,n){e.eachSeriesByType(t,(function(t){var e=t.getData(),i=e.mapDimension("value"),r=wM(t,n),o=SM(t,n),a=o.cx,s=o.cy,l=o.r,u=o.r0,h=-t.get("startAngle")*bM,c=t.get("endAngle"),p=t.get("padAngle")*bM;c="auto"===c?h-_M:-c*bM;var d=t.get("minAngle")*bM+p,f=0;e.each(i,(function(t){!isNaN(t)&&f++}));var g=e.getSum(i),y=Math.PI/(g||f)*2,v=t.get("clockwise"),m=t.get("roseType"),x=t.get("stillShowZeroSum"),_=e.getDataExtent(i);_[0]=0;var b=v?1:-1,w=[h,c],S=b*p/2;us(w,!v),h=w[0],c=w[1];var M=IM(t);M.startAngle=h,M.endAngle=c,M.clockwise=v;var I=Math.abs(c-h),T=I,C=0,D=h;if(e.setLayout({viewRect:r,r:l}),e.each(i,(function(t,n){var i;if(isNaN(t))e.setItemLayout(n,{angle:NaN,startAngle:NaN,endAngle:NaN,clockwise:v,cx:a,cy:s,r0:u,r:m?NaN:l});else{(i="area"!==m?0===g&&x?y:t*y:I/f)i?h=o=D+b*i/2:(o=D+S,h=r-S),e.setItemLayout(n,{angle:i,startAngle:o,endAngle:h,clockwise:v,cx:a,cy:s,r0:u,r:m?Kr(t,_,[u,l]):l}),D=r}})),T<_M&&f)if(T<=.001){var A=I/f;e.each(i,(function(t,n){if(!isNaN(t)){var i=e.getItemLayout(n);i.angle=A;var r=0,o=0;An?a:o,h=Math.abs(l.label.y-n);if(h>=u.maxY){var c=l.label.x-e-l.len2*r,p=i+l.len,f=Math.abs(c)t.unconstrainedWidth?null:d:null;i.setStyle("width",f)}var g=i.getBoundingRect();o.width=g.width;var y=(i.style.margin||0)+2.1;o.height=g.height+y,o.y-=(o.height-c)/2}}}function kM(t){return"center"===t.position}function LM(t){var e,n,i=t.getData(),r=[],o=!1,a=(t.get("minShowLabelAngle")||0)*CM,s=i.getLayout("viewRect"),l=i.getLayout("r"),u=s.width,h=s.x,c=s.y,p=s.height;function d(t){t.ignore=!0}i.each((function(t){var s=i.getItemGraphicEl(t),c=s.shape,p=s.getTextContent(),f=s.getTextGuideLine(),g=i.getItemModel(t),y=g.getModel("label"),v=y.get("position")||g.get(["emphasis","label","position"]),m=y.get("distanceToLabelLine"),x=y.get("alignTo"),_=$r(y.get("edgeDistance"),u),b=y.get("bleedMargin"),w=g.getModel("labelLine"),S=w.get("length");S=$r(S,u);var M=w.get("length2");if(M=$r(M,u),Math.abs(c.endAngle-c.startAngle)0?"right":"left":k>0?"left":"right"}var B=Math.PI,F=0,G=y.get("rotate");if(j(G))F=G*(B/180);else if("center"===v)F=0;else if("radial"===G||!0===G){F=k<0?-A+B:-A}else if("tangential"===G&&"outside"!==v&&"outer"!==v){var W=Math.atan2(k,L);W<0&&(W=2*B+W),L>0&&(W=B+W),F=W-B}if(o=!!F,p.x=I,p.y=T,p.rotation=F,p.setStyle({verticalAlign:"middle"}),P){p.setStyle({align:D});var H=p.states.select;H&&(H.x+=p.x,H.y+=p.y)}else{var Y=p.getBoundingRect().clone();Y.applyTransform(p.getComputedTransform());var X=(p.style.margin||0)+2.1;Y.y-=X/2,Y.height+=X,r.push({label:p,labelLine:f,position:v,len:S,len2:M,minTurnAngle:w.get("minTurnAngle"),maxSurfaceAngle:w.get("maxSurfaceAngle"),surfaceNormal:new De(k,L),linePoints:C,textAlign:D,labelDistance:m,labelAlignTo:x,edgeDistance:_,bleedMargin:b,rect:Y,unconstrainedWidth:Y.width,labelStyleWidth:p.style.width})}s.setTextConfig({inside:P})}})),!o&&t.get("avoidLabelOverlap")&&function(t,e,n,i,r,o,a,s){for(var l=[],u=[],h=Number.MAX_VALUE,c=-Number.MAX_VALUE,p=0;p0){for(var l=o.getItemLayout(0),u=1;isNaN(l&&l.startAngle)&&u=n.r0}},e.type="pie",e}(Og);function RM(t,e,n){e=Y(e)&&{coordDimensions:e}||A({encodeDefine:t.getEncode()},e);var i=t.getSource(),r=px(i,e).dimensions,o=new cx(r,t);return o.initData(i,n),o}var NM=function(){function t(t,e){this._getDataWithEncodedVisual=t,this._getRawData=e}return t.prototype.getAllNames=function(){var t=this._getRawData();return t.mapArray(t.getName)},t.prototype.containName=function(t){return this._getRawData().indexOfName(t)>=0},t.prototype.indexOfName=function(t){return this._getDataWithEncodedVisual().indexOfName(t)},t.prototype.getItemVisual=function(t,e){return this._getDataWithEncodedVisual().getItemVisual(t,e)},t}(),EM=Vo(),zM=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n(e,t),e.prototype.init=function(e){t.prototype.init.apply(this,arguments),this.legendVisualProvider=new NM(W(this.getData,this),W(this.getRawData,this)),this._defaultLabelLine(e)},e.prototype.mergeOption=function(){t.prototype.mergeOption.apply(this,arguments)},e.prototype.getInitialData=function(){return RM(this,{coordDimensions:["value"],encodeDefaulter:H(ed,this)})},e.prototype.getDataParams=function(e){var n=this.getData(),i=EM(n),r=i.seats;if(!r){var o=[];n.each(n.mapDimension("value"),(function(t){o.push(t)})),r=i.seats=io(o,n.hostModel.get("percentPrecision"))}var a=t.prototype.getDataParams.call(this,e);return a.percent=r[e]||0,a.$vars.push("percent"),a},e.prototype._defaultLabelLine=function(t){Co(t,"labelLine",["show"]);var e=t.labelLine,n=t.emphasis.labelLine;e.show=e.show&&t.label.show,n.show=n.show&&t.emphasis.label.show},e.type="series.pie",e.defaultOption={z:2,legendHoverLink:!0,colorBy:"data",center:["50%","50%"],radius:[0,"75%"],clockwise:!0,startAngle:90,endAngle:"auto",padAngle:0,minAngle:0,minShowLabelAngle:0,selectedOffset:10,percentPrecision:2,stillShowZeroSum:!0,left:0,top:0,right:0,bottom:0,width:null,height:null,label:{rotate:0,show:!0,overflow:"truncate",position:"outer",alignTo:"none",edgeDistance:"25%",bleedMargin:10,distanceToLabelLine:5},labelLine:{show:!0,length:15,length2:15,smooth:!1,minTurnAngle:90,maxSurfaceAngle:90,lineStyle:{width:1,type:"solid"}},itemStyle:{borderWidth:1,borderJoin:"round"},showEmptyCircle:!0,emptyCircleStyle:{color:"lightgray",opacity:1},labelLayout:{hideOverlap:!0},emphasis:{scale:!0,scaleSize:5},avoidLabelOverlap:!0,animationType:"expansion",animationDuration:1e3,animationTypeUpdate:"transition",animationEasingUpdate:"cubicInOut",animationDurationUpdate:500,animationEasing:"cubicInOut"},e}(bg);var VM=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n.hasSymbolVisual=!0,n}return n(e,t),e.prototype.getInitialData=function(t,e){return _x(null,this,{useEncodeDefaulter:!0})},e.prototype.getProgressive=function(){var t=this.option.progressive;return null==t?this.option.large?5e3:this.get("progressive"):t},e.prototype.getProgressiveThreshold=function(){var t=this.option.progressiveThreshold;return null==t?this.option.large?1e4:this.get("progressiveThreshold"):t},e.prototype.brushSelector=function(t,e,n){return n.point(e.getItemLayout(t))},e.prototype.getZLevelKey=function(){return this.getData().count()>this.getProgressiveThreshold()?this.id:""},e.type="series.scatter",e.dependencies=["grid","polar","geo","singleAxis","calendar"],e.defaultOption={coordinateSystem:"cartesian2d",z:2,legendHoverLink:!0,symbolSize:10,large:!1,largeThreshold:2e3,itemStyle:{opacity:.8},emphasis:{scale:!0},clip:!0,select:{itemStyle:{borderColor:"#212121"}},universalTransition:{divideShape:"clone"}},e}(bg),BM=function(){},FM=function(t){function e(e){var n=t.call(this,e)||this;return n._off=0,n.hoverDataIdx=-1,n}return n(e,t),e.prototype.getDefaultShape=function(){return new BM},e.prototype.reset=function(){this.notClear=!1,this._off=0},e.prototype.buildPath=function(t,e){var n,i=e.points,r=e.size,o=this.symbolProxy,a=o.shape,s=t.getContext?t.getContext():t,l=s&&r[0]<4,u=this.softClipShape;if(l)this._ctx=s;else{for(this._ctx=null,n=this._off;n=0;s--){var l=2*s,u=i[l]-o/2,h=i[l+1]-a/2;if(t>=u&&e>=h&&t<=u+o&&e<=h+a)return s}return-1},e.prototype.contain=function(t,e){var n=this.transformCoordToLocal(t,e),i=this.getBoundingRect();return t=n[0],e=n[1],i.contain(t,e)?(this.hoverDataIdx=this.findDataIndex(t,e))>=0:(this.hoverDataIdx=-1,!1)},e.prototype.getBoundingRect=function(){var t=this._rect;if(!t){for(var e=this.shape,n=e.points,i=e.size,r=i[0],o=i[1],a=1/0,s=1/0,l=-1/0,u=-1/0,h=0;h=0&&(l.dataIndex=n+(t.startIndex||0))}))},t.prototype.remove=function(){this._clear()},t.prototype._clear=function(){this._newAdded=[],this.group.removeAll()},t}(),WM=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.render=function(t,e,n){var i=t.getData();this._updateSymbolDraw(i,t).updateData(i,{clipShape:this._getClipShape(t)}),this._finished=!0},e.prototype.incrementalPrepareRender=function(t,e,n){var i=t.getData();this._updateSymbolDraw(i,t).incrementalPrepareUpdate(i),this._finished=!1},e.prototype.incrementalRender=function(t,e,n){this._symbolDraw.incrementalUpdate(t,e.getData(),{clipShape:this._getClipShape(e)}),this._finished=t.end===e.getData().count()},e.prototype.updateTransform=function(t,e,n){var i=t.getData();if(this.group.dirty(),!this._finished||i.count()>1e4)return{update:!0};var r=XS("").reset(t,e,n);r.progress&&r.progress({start:0,end:i.count(),count:i.count()},i),this._symbolDraw.updateLayout(i)},e.prototype.eachRendered=function(t){this._symbolDraw&&this._symbolDraw.eachRendered(t)},e.prototype._getClipShape=function(t){if(t.get("clip",!0)){var e=t.coordinateSystem;return e&&e.getArea&&e.getArea(.1)}},e.prototype._updateSymbolDraw=function(t,e){var n=this._symbolDraw,i=e.pipelineContext.large;return n&&i===this._isLargeDraw||(n&&n.remove(),n=this._symbolDraw=i?new GM:new xS,this._isLargeDraw=i,this.group.removeAll()),this.group.add(n.group),n},e.prototype.remove=function(t,e){this._symbolDraw&&this._symbolDraw.remove(!0),this._symbolDraw=null},e.prototype.dispose=function(){},e.type="scatter",e}(Og),HM=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n(e,t),e.type="grid",e.dependencies=["xAxis","yAxis"],e.layoutMode="box",e.defaultOption={show:!1,z:0,left:"10%",top:60,right:"10%",bottom:70,containLabel:!1,backgroundColor:"rgba(0,0,0,0)",borderWidth:1,borderColor:"#ccc"},e}(zp),YM=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n(e,t),e.prototype.getCoordSysModel=function(){return this.getReferringComponents("grid",Wo).models[0]},e.type="cartesian2dAxis",e}(zp);R(YM,D_);var XM={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,lineStyle:{color:["#E0E6F1"],width:1,type:"solid"}},splitArea:{show:!1,areaStyle:{color:["rgba(250,250,250,0.2)","rgba(210,219,238,0.2)"]}}},UM=C({boundaryGap:!0,deduplication:null,splitLine:{show:!1},axisTick:{alignWithLabel:!1,interval:"auto"},axisLabel:{interval:"auto"}},XM),ZM=C({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}}},XM),jM={category:UM,value:ZM,time:C({splitNumber:6,axisLabel:{showMinLabel:!1,showMaxLabel:!1,rich:{primary:{fontWeight:"bold"}}},splitLine:{show:!1}},ZM),log:k({logBase:10},ZM)},qM={value:1,category:1,time:1,log:1};function KM(t,e,i,r){E(qM,(function(o,a){var s=C(C({},jM[a],!0),r,!0),l=function(t){function i(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e+"Axis."+a,n}return n(i,t),i.prototype.mergeDefaultAndTheme=function(t,e){var n=Pp(this),i=n?Rp(t):{};C(t,e.getTheme().get(a+"Axis")),C(t,this.getDefaultOption()),t.type=$M(t),n&&Op(t,i,n)},i.prototype.optionUpdated=function(){"category"===this.option.type&&(this.__ordinalMeta=Mx.createByAxisModel(this))},i.prototype.getCategories=function(t){var e=this.option;if("category"===e.type)return t?e.data:this.__ordinalMeta.categories},i.prototype.getOrdinalMeta=function(){return this.__ordinalMeta},i.type=e+"Axis."+a,i.defaultOption=s,i}(i);t.registerComponentModel(l)})),t.registerSubTypeDefaulter(e+"Axis",$M)}function $M(t){return t.type||(t.data?"category":"value")}var JM=function(){function t(t){this.type="cartesian",this._dimList=[],this._axes={},this.name=t||""}return t.prototype.getAxis=function(t){return this._axes[t]},t.prototype.getAxes=function(){return z(this._dimList,(function(t){return this._axes[t]}),this)},t.prototype.getAxesByScale=function(t){return t=t.toLowerCase(),B(this.getAxes(),(function(e){return e.scale.type===t}))},t.prototype.addAxis=function(t){var e=t.dim;this._axes[e]=t,this._dimList.push(e)},t}(),QM=["x","y"];function tI(t){return"interval"===t.type||"time"===t.type}var eI=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.type="cartesian2d",e.dimensions=QM,e}return n(e,t),e.prototype.calcAffineTransform=function(){this._transform=this._invTransform=null;var t=this.getAxis("x").scale,e=this.getAxis("y").scale;if(tI(t)&&tI(e)){var n=t.getExtent(),i=e.getExtent(),r=this.dataToPoint([n[0],i[0]]),o=this.dataToPoint([n[1],i[1]]),a=n[1]-n[0],s=i[1]-i[0];if(a&&s){var l=(o[0]-r[0])/a,u=(o[1]-r[1])/s,h=r[0]-n[0]*l,c=r[1]-i[0]*u,p=this._transform=[l,0,0,u,h,c];this._invTransform=Ie([],p)}}},e.prototype.getBaseAxis=function(){return this.getAxesByScale("ordinal")[0]||this.getAxesByScale("time")[0]||this.getAxis("x")},e.prototype.containPoint=function(t){var e=this.getAxis("x"),n=this.getAxis("y");return e.contain(e.toLocalCoord(t[0]))&&n.contain(n.toLocalCoord(t[1]))},e.prototype.containData=function(t){return this.getAxis("x").containData(t[0])&&this.getAxis("y").containData(t[1])},e.prototype.containZone=function(t,e){var n=this.dataToPoint(t),i=this.dataToPoint(e),r=this.getArea(),o=new ze(n[0],n[1],i[0]-n[0],i[1]-n[1]);return r.intersect(o)},e.prototype.dataToPoint=function(t,e,n){n=n||[];var i=t[0],r=t[1];if(this._transform&&null!=i&&isFinite(i)&&null!=r&&isFinite(r))return Wt(n,t,this._transform);var o=this.getAxis("x"),a=this.getAxis("y");return n[0]=o.toGlobalCoord(o.dataToCoord(i,e)),n[1]=a.toGlobalCoord(a.dataToCoord(r,e)),n},e.prototype.clampData=function(t,e){var n=this.getAxis("x").scale,i=this.getAxis("y").scale,r=n.getExtent(),o=i.getExtent(),a=n.parse(t[0]),s=i.parse(t[1]);return(e=e||[])[0]=Math.min(Math.max(Math.min(r[0],r[1]),a),Math.max(r[0],r[1])),e[1]=Math.min(Math.max(Math.min(o[0],o[1]),s),Math.max(o[0],o[1])),e},e.prototype.pointToData=function(t,e){var n=[];if(this._invTransform)return Wt(n,t,this._invTransform);var i=this.getAxis("x"),r=this.getAxis("y");return n[0]=i.coordToData(i.toLocalCoord(t[0]),e),n[1]=r.coordToData(r.toLocalCoord(t[1]),e),n},e.prototype.getOtherAxis=function(t){return this.getAxis("x"===t.dim?"y":"x")},e.prototype.getArea=function(t){t=t||0;var e=this.getAxis("x").getGlobalExtent(),n=this.getAxis("y").getGlobalExtent(),i=Math.min(e[0],e[1])-t,r=Math.min(n[0],n[1])-t,o=Math.max(e[0],e[1])-i+t,a=Math.max(n[0],n[1])-r+t;return new ze(i,r,o,a)},e}(JM),nI=function(t){function e(e,n,i,r,o){var a=t.call(this,e,n,i)||this;return a.index=0,a.type=r||"value",a.position=o||"bottom",a}return n(e,t),e.prototype.isHorizontal=function(){var t=this.position;return"top"===t||"bottom"===t},e.prototype.getGlobalExtent=function(t){var e=this.getExtent();return e[0]=this.toGlobalCoord(e[0]),e[1]=this.toGlobalCoord(e[1]),t&&e[0]>e[1]&&e.reverse(),e},e.prototype.pointToData=function(t,e){return this.coordToData(this.toLocalCoord(t["x"===this.dim?0:1]),e)},e.prototype.setCategorySortInfo=function(t){if("category"!==this.type)return!1;this.model.option.categorySortInfo=t,this.scale.setSortInfo(t)},e}(ab);function iI(t,e,n){n=n||{};var i=t.coordinateSystem,r=e.axis,o={},a=r.getAxesOnZeroOf()[0],s=r.position,l=a?"onZero":s,u=r.dim,h=i.getRect(),c=[h.x,h.x+h.width,h.y,h.y+h.height],p={left:0,right:1,top:0,bottom:1,onZero:2},d=e.get("offset")||0,f="x"===u?[c[2]-d,c[3]+d]:[c[0]-d,c[1]+d];if(a){var g=a.toGlobalCoord(a.dataToCoord(0));f[p.onZero]=Math.max(Math.min(g,f[1]),f[0])}o.position=["y"===u?f[p[l]]:c[0],"x"===u?f[p[l]]:c[3]],o.rotation=Math.PI/2*("x"===u?0:1);o.labelDirection=o.tickDirection=o.nameDirection={top:-1,bottom:1,left:-1,right:1}[s],o.labelOffset=a?f[p[s]]-f[p.onZero]:0,e.get(["axisTick","inside"])&&(o.tickDirection=-o.tickDirection),it(n.labelInside,e.get(["axisLabel","inside"]))&&(o.labelDirection=-o.labelDirection);var y=e.get(["axisLabel","rotate"]);return o.labelRotate="top"===l?-y:y,o.z2=1,o}function rI(t){return"cartesian2d"===t.get("coordinateSystem")}function oI(t){var e={xAxisModel:null,yAxisModel:null};return E(e,(function(n,i){var r=i.replace(/Model$/,""),o=t.getReferringComponents(r,Wo).models[0];e[i]=o})),e}var aI=Math.log;function sI(t,e,n){var i=Ex.prototype,r=i.getTicks.call(n),o=i.getTicks.call(n,!0),a=r.length-1,s=i.getInterval.call(n),l=x_(t,e),u=l.extent,h=l.fixMin,c=l.fixMax;if("log"===t.type){var p=aI(t.base);u=[aI(u[0])/p,aI(u[1])/p]}t.setExtent(u[0],u[1]),t.calcNiceExtent({splitNumber:a,fixMin:h,fixMax:c});var d=i.getExtent.call(t);h&&(u[0]=d[0]),c&&(u[1]=d[1]);var f=i.getInterval.call(t),g=u[0],y=u[1];if(h&&c)f=(y-g)/a;else if(h)for(y=u[0]+f*a;yu[0]&&isFinite(g)&&isFinite(u[0]);)f=Dx(f),g=u[1]-f*a;else{t.getTicks().length-1>a&&(f=Dx(f));var v=f*a;(g=Jr((y=Math.ceil(u[1]/f)*f)-v))<0&&u[0]>=0?(g=0,y=Jr(v)):y>0&&u[1]<=0&&(y=0,g=-Jr(v))}var m=(r[0].value-o[0].value)/s,x=(r[a].value-o[a].value)/s;i.setExtent.call(t,g+f*m,y+f*x),i.setInterval.call(t,f),(m||x)&&i.setNiceExtent.call(t,g+f,y-f)}var lI=function(){function t(t,e,n){this.type="grid",this._coordsMap={},this._coordsList=[],this._axesMap={},this._axesList=[],this.axisPointerEnabled=!0,this.dimensions=QM,this._initCartesian(t,e,n),this.model=t}return t.prototype.getRect=function(){return this._rect},t.prototype.update=function(t,e){var n=this._axesMap;function i(t){var e,n=G(t),i=n.length;if(i){for(var r=[],o=i-1;o>=0;o--){var a=t[+n[o]],s=a.model,l=a.scale;Tx(l)&&s.get("alignTicks")&&null==s.get("interval")?r.push(a):(__(l,s),Tx(l)&&(e=a))}r.length&&(e||__((e=r.pop()).scale,e.model),E(r,(function(t){sI(t.scale,t.model,e.scale)})))}}this._updateScale(t,this.model),i(n.x),i(n.y);var r={};E(n.x,(function(t){hI(n,"y",t,r)})),E(n.y,(function(t){hI(n,"x",t,r)})),this.resize(this.model,e)},t.prototype.resize=function(t,e,n){var i=t.getBoxLayoutParams(),r=!n&&t.get("containLabel"),o=kp(i,{width:e.getWidth(),height:e.getHeight()});this._rect=o;var a=this._axesList;function s(){E(a,(function(t){var e=t.isHorizontal(),n=e?[0,o.width]:[0,o.height],i=t.inverse?1:0;t.setExtent(n[i],n[1-i]),function(t,e){var n=t.getExtent(),i=n[0]+n[1];t.toGlobalCoord="x"===t.dim?function(t){return t+e}:function(t){return i-t+e},t.toLocalCoord="x"===t.dim?function(t){return t-e}:function(t){return i-t+e}}(t,e?o.x:o.y)}))}s(),r&&(E(a,(function(t){if(!t.model.get(["axisLabel","inside"])){var e=function(t){var e=t.model,n=t.scale;if(e.get(["axisLabel","show"])&&!n.isBlank()){var i,r,o=n.getExtent();r=n instanceof Rx?n.count():(i=n.getTicks()).length;var a,s=t.getLabelModel(),l=w_(t),u=1;r>40&&(u=Math.ceil(r/40));for(var h=0;h0&&i>0||n<0&&i<0)}(t)}var pI=Math.PI,dI=function(){function t(t,e){this.group=new Br,this.opt=e,this.axisModel=t,k(e,{labelOffset:0,nameDirection:1,tickDirection:1,labelDirection:1,silent:!0,handleAutoShown:function(){return!0}});var n=new Br({x:e.position[0],y:e.position[1],rotation:e.rotation});n.updateTransform(),this._transformGroup=n}return t.prototype.hasBuilder=function(t){return!!fI[t]},t.prototype.add=function(t){fI[t](this.opt,this.axisModel,this.group,this._transformGroup)},t.prototype.getGroup=function(){return this.group},t.innerTextLayout=function(t,e,n){var i,r,o=ao(e-t);return so(o)?(r=n>0?"top":"bottom",i="center"):so(o-pI)?(r=n>0?"bottom":"top",i="center"):(r="middle",i=o>0&&o0?"right":"left":n>0?"left":"right"),{rotation:o,textAlign:i,textVerticalAlign:r}},t.makeAxisEventDataBase=function(t){var e={componentType:t.mainType,componentIndex:t.componentIndex};return e[t.mainType+"Index"]=t.componentIndex,e},t.isLabelSilent=function(t){var e=t.get("tooltip");return t.get("silent")||!(t.get("triggerEvent")||e&&e.show)},t}(),fI={axisLine:function(t,e,n,i){var r=e.get(["axisLine","show"]);if("auto"===r&&t.handleAutoShown&&(r=t.handleAutoShown("axisLine")),r){var o=e.axis.getExtent(),a=i.transform,s=[o[0],0],l=[o[1],0],u=s[0]>l[0];a&&(Wt(s,s,a),Wt(l,l,a));var h=A({lineCap:"round"},e.getModel(["axisLine","lineStyle"]).getLineStyle()),c=new Ku({shape:{x1:s[0],y1:s[1],x2:l[0],y2:l[1]},style:h,strokeContainThreshold:t.strokeContainThreshold||5,silent:!0,z2:1});zh(c.shape,c.style.lineWidth),c.anid="line",n.add(c);var p=e.get(["axisLine","symbol"]);if(null!=p){var d=e.get(["axisLine","symbolSize"]);U(p)&&(p=[p,p]),(U(d)||j(d))&&(d=[d,d]);var f=Zy(e.get(["axisLine","symbolOffset"])||0,d),g=d[0],y=d[1];E([{rotate:t.rotation+Math.PI/2,offset:f[0],r:0},{rotate:t.rotation-Math.PI/2,offset:f[1],r:Math.sqrt((s[0]-l[0])*(s[0]-l[0])+(s[1]-l[1])*(s[1]-l[1]))}],(function(e,i){if("none"!==p[i]&&null!=p[i]){var r=Xy(p[i],-g/2,-y/2,g,y,h.stroke,!0),o=e.r+e.offset,a=u?l:s;r.attr({rotation:e.rotate,x:a[0]+o*Math.cos(t.rotation),y:a[1]-o*Math.sin(t.rotation),silent:!0,z2:11}),n.add(r)}}))}}},axisTickLabel:function(t,e,n,i){var r=function(t,e,n,i){var r=n.axis,o=n.getModel("axisTick"),a=o.get("show");"auto"===a&&i.handleAutoShown&&(a=i.handleAutoShown("axisTick"));if(!a||r.scale.isBlank())return;for(var s=o.getModel("lineStyle"),l=i.tickDirection*o.get("length"),u=mI(r.getTicksCoords(),e.transform,l,k(s.getLineStyle(),{stroke:n.get(["axisLine","lineStyle","color"])}),"ticks"),h=0;hc[1]?-1:1,d=["start"===s?c[0]-p*h:"end"===s?c[1]+p*h:(c[0]+c[1])/2,vI(s)?t.labelOffset+l*h:0],f=e.get("nameRotate");null!=f&&(f=f*pI/180),vI(s)?o=dI.innerTextLayout(t.rotation,null!=f?f:t.rotation,l):(o=function(t,e,n,i){var r,o,a=ao(n-t),s=i[0]>i[1],l="start"===e&&!s||"start"!==e&&s;so(a-pI/2)?(o=l?"bottom":"top",r="center"):so(a-1.5*pI)?(o=l?"top":"bottom",r="center"):(o="middle",r=a<1.5*pI&&a>pI/2?l?"left":"right":l?"right":"left");return{rotation:a,textAlign:r,textVerticalAlign:o}}(t.rotation,s,f||0,c),null!=(a=t.axisNameAvailableWidth)&&(a=Math.abs(a/Math.sin(o.rotation)),!isFinite(a)&&(a=null)));var g=u.getFont(),y=e.get("nameTruncate",!0)||{},v=y.ellipsis,m=it(t.nameTruncateMaxWidth,y.maxWidth,a),x=new Xs({x:d[0],y:d[1],rotation:o.rotation,silent:dI.isLabelSilent(e),style:oc(u,{text:r,font:g,overflow:"truncate",width:m,ellipsis:v,fill:u.getTextColor()||e.get(["axisLine","lineStyle","color"]),align:u.get("align")||o.textAlign,verticalAlign:u.get("verticalAlign")||o.textVerticalAlign}),z2:1});if(Kh({el:x,componentModel:e,itemName:r}),x.__fullText=r,x.anid="name",e.get("triggerEvent")){var _=dI.makeAxisEventDataBase(e);_.targetType="axisName",_.name=r,rl(x).eventData=_}i.add(x),x.updateTransform(),n.add(x),x.decomposeTransform()}}};function gI(t){t&&(t.ignore=!0)}function yI(t,e){var n=t&&t.getBoundingRect().clone(),i=e&&e.getBoundingRect().clone();if(n&&i){var r=xe([]);return Se(r,r,-t.rotation),n.applyTransform(be([],r,t.getLocalTransform())),i.applyTransform(be([],r,e.getLocalTransform())),n.intersect(i)}}function vI(t){return"middle"===t||"center"===t}function mI(t,e,n,i,r){for(var o=[],a=[],s=[],l=0;l=0||t===e}function bI(t){var e=wI(t);if(e){var n=e.axisPointerModel,i=e.axis.scale,r=n.option,o=n.get("status"),a=n.get("value");null!=a&&(a=i.parse(a));var s=SI(n);null==o&&(r.status=s?"show":"hide");var l=i.getExtent().slice();l[0]>l[1]&&l.reverse(),(null==a||a>l[1])&&(a=l[1]),a0&&!c.min?c.min=0:null!=c.min&&c.min<0&&!c.max&&(c.max=0);var p=a;null!=c.color&&(p=k({color:c.color},a));var d=C(T(c),{boundaryGap:t,splitNumber:e,scale:n,axisLine:i,axisTick:r,axisLabel:o,name:c.text,showName:s,nameLocation:"end",nameGap:u,nameTextStyle:p,triggerEvent:h},!1);if(U(l)){var f=d.name;d.name=l.replace("{value}",null!=f?f:"")}else X(l)&&(d.name=l(d.name,d));var g=new Cc(d,null,this.ecModel);return R(g,D_.prototype),g.mainType="radar",g.componentIndex=this.componentIndex,g}),this);this._indicatorModels=c},e.prototype.getIndicatorModels=function(){return this._indicatorModels},e.type="radar",e.defaultOption={z:0,center:["50%","50%"],radius:"75%",startAngle:90,axisName:{show:!0},boundaryGap:[0,0],splitNumber:5,axisNameGap:15,scale:!1,shape:"polygon",axisLine:C({lineStyle:{color:"#bbb"}},XI.axisLine),axisLabel:UI(XI.axisLabel,!1),axisTick:UI(XI.axisTick,!1),splitLine:UI(XI.splitLine,!0),splitArea:UI(XI.splitArea,!0),indicator:[]},e}(zp),jI=["axisLine","axisTickLabel","axisName"],qI=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.render=function(t,e,n){this.group.removeAll(),this._buildAxes(t),this._buildSplitLineAndArea(t)},e.prototype._buildAxes=function(t){var e=t.coordinateSystem;E(z(e.getIndicatorAxes(),(function(t){var n=t.model.get("showName")?t.name:"";return new dI(t.model,{axisName:n,position:[e.cx,e.cy],rotation:t.angle,labelDirection:-1,tickDirection:-1,nameDirection:1})})),(function(t){E(jI,t.add,t),this.group.add(t.getGroup())}),this)},e.prototype._buildSplitLineAndArea=function(t){var e=t.coordinateSystem,n=e.getIndicatorAxes();if(n.length){var i=t.get("shape"),r=t.getModel("splitLine"),o=t.getModel("splitArea"),a=r.getModel("lineStyle"),s=o.getModel("areaStyle"),l=r.get("show"),u=o.get("show"),h=a.get("color"),c=s.get("color"),p=Y(h)?h:[h],d=Y(c)?c:[c],f=[],g=[];if("circle"===i)for(var y=n[0].getTicksCoords(),v=e.cx,m=e.cy,x=0;x3?1.4:r>1?1.2:1.1;iT(this,"zoom","zoomOnMouseWheel",t,{scale:i>0?s:1/s,originX:o,originY:a,isAvailableBehavior:null})}if(n){var l=Math.abs(i);iT(this,"scrollMove","moveOnMouseWheel",t,{scrollDelta:(i>0?1:-1)*(l>3?.4:l>1?.15:.05),originX:o,originY:a,isAvailableBehavior:null})}}},e.prototype._pinchHandler=function(t){tT(this._zr,"globalPan")||iT(this,"zoom",null,t,{scale:t.pinchScale>1?1.1:1/1.1,originX:t.pinchX,originY:t.pinchY,isAvailableBehavior:null})},e}(jt);function iT(t,e,n,i,r){t.pointerChecker&&t.pointerChecker(i,r.originX,r.originY)&&(de(i.event),rT(t,e,n,i,r))}function rT(t,e,n,i,r){r.isAvailableBehavior=W(oT,null,n,i),t.trigger(e,r)}function oT(t,e,n){var i=n[t];return!t||i&&(!U(i)||e.event[i+"Key"])}function aT(t,e,n){var i=t.target;i.x+=e,i.y+=n,i.dirty()}function sT(t,e,n,i){var r=t.target,o=t.zoomLimit,a=t.zoom=t.zoom||1;if(a*=e,o){var s=o.min||0,l=o.max||1/0;a=Math.max(Math.min(l,a),s)}var u=a/t.zoom;t.zoom=a,r.x-=(n-r.x)*(u-1),r.y-=(i-r.y)*(u-1),r.scaleX*=u,r.scaleY*=u,r.dirty()}var lT,uT={axisPointer:1,tooltip:1,brush:1};function hT(t,e,n){var i=e.getComponentByElement(t.topTarget),r=i&&i.coordinateSystem;return i&&i!==n&&!uT.hasOwnProperty(i.mainType)&&r&&r.model!==n}function cT(t){U(t)&&(t=(new DOMParser).parseFromString(t,"text/xml"));var e=t;for(9===e.nodeType&&(e=e.firstChild);"svg"!==e.nodeName.toLowerCase()||1!==e.nodeType;)e=e.nextSibling;return e}var pT={fill:"fill",stroke:"stroke","stroke-width":"lineWidth",opacity:"opacity","fill-opacity":"fillOpacity","stroke-opacity":"strokeOpacity","stroke-dasharray":"lineDash","stroke-dashoffset":"lineDashOffset","stroke-linecap":"lineCap","stroke-linejoin":"lineJoin","stroke-miterlimit":"miterLimit","font-family":"fontFamily","font-size":"fontSize","font-style":"fontStyle","font-weight":"fontWeight","text-anchor":"textAlign",visibility:"visibility",display:"display"},dT=G(pT),fT={"alignment-baseline":"textBaseline","stop-color":"stopColor"},gT=G(fT),yT=function(){function t(){this._defs={},this._root=null}return t.prototype.parse=function(t,e){e=e||{};var n=cT(t);this._defsUsePending=[];var i=new Br;this._root=i;var r=[],o=n.getAttribute("viewBox")||"",a=parseFloat(n.getAttribute("width")||e.width),s=parseFloat(n.getAttribute("height")||e.height);isNaN(a)&&(a=null),isNaN(s)&&(s=null),wT(n,i,null,!0,!1);for(var l,u,h=n.firstChild;h;)this._parseNode(h,i,r,null,!1,!1),h=h.nextSibling;if(function(t,e){for(var n=0;n=4&&(l={x:parseFloat(c[0]||0),y:parseFloat(c[1]||0),width:parseFloat(c[2]),height:parseFloat(c[3])})}if(l&&null!=a&&null!=s&&(u=LT(l,{x:0,y:0,width:a,height:s}),!e.ignoreViewBox)){var p=i;(i=new Br).add(p),p.scaleX=p.scaleY=u.scale,p.x=u.x,p.y=u.y}return e.ignoreRootClip||null==a||null==s||i.setClipPath(new Ws({shape:{x:0,y:0,width:a,height:s}})),{root:i,width:a,height:s,viewBoxRect:l,viewBoxTransform:u,named:r}},t.prototype._parseNode=function(t,e,n,i,r,o){var a,s=t.nodeName.toLowerCase(),l=i;if("defs"===s&&(r=!0),"text"===s&&(o=!0),"defs"===s||"switch"===s)a=e;else{if(!r){var u=lT[s];if(u&&_t(lT,s)){a=u.call(this,t,e);var h=t.getAttribute("name");if(h){var c={name:h,namedFrom:null,svgNodeTagLower:s,el:a};n.push(c),"g"===s&&(l=c)}else i&&n.push({name:i.name,namedFrom:i,svgNodeTagLower:s,el:a});e.add(a)}}var p=vT[s];if(p&&_t(vT,s)){var d=p.call(this,t),f=t.getAttribute("id");f&&(this._defs[f]=d)}}if(a&&a.isGroup)for(var g=t.firstChild;g;)1===g.nodeType?this._parseNode(g,a,n,l,r,o):3===g.nodeType&&o&&this._parseText(g,a),g=g.nextSibling},t.prototype._parseText=function(t,e){var n=new Ps({style:{text:t.textContent},silent:!0,x:this._textX||0,y:this._textY||0});_T(e,n),wT(t,n,this._defsUsePending,!1,!1),function(t,e){var n=e.__selfStyle;if(n){var i=n.textBaseline,r=i;i&&"auto"!==i?"baseline"===i?r="alphabetic":"before-edge"===i||"text-before-edge"===i?r="top":"after-edge"===i||"text-after-edge"===i?r="bottom":"central"!==i&&"mathematical"!==i||(r="middle"):r="alphabetic",t.style.textBaseline=r}var o=e.__inheritedStyle;if(o){var a=o.textAlign,s=a;a&&("middle"===a&&(s="center"),t.style.textAlign=s)}}(n,e);var i=n.style,r=i.fontSize;r&&r<9&&(i.fontSize=9,n.scaleX*=r/9,n.scaleY*=r/9);var o=(i.fontSize||i.fontFamily)&&[i.fontStyle,i.fontWeight,(i.fontSize||12)+"px",i.fontFamily||"sans-serif"].join(" ");i.font=o;var a=n.getBoundingRect();return this._textX+=a.width,e.add(n),n},t.internalField=void(lT={g:function(t,e){var n=new Br;return _T(e,n),wT(t,n,this._defsUsePending,!1,!1),n},rect:function(t,e){var n=new Ws;return _T(e,n),wT(t,n,this._defsUsePending,!1,!1),n.setShape({x:parseFloat(t.getAttribute("x")||"0"),y:parseFloat(t.getAttribute("y")||"0"),width:parseFloat(t.getAttribute("width")||"0"),height:parseFloat(t.getAttribute("height")||"0")}),n.silent=!0,n},circle:function(t,e){var n=new Su;return _T(e,n),wT(t,n,this._defsUsePending,!1,!1),n.setShape({cx:parseFloat(t.getAttribute("cx")||"0"),cy:parseFloat(t.getAttribute("cy")||"0"),r:parseFloat(t.getAttribute("r")||"0")}),n.silent=!0,n},line:function(t,e){var n=new Ku;return _T(e,n),wT(t,n,this._defsUsePending,!1,!1),n.setShape({x1:parseFloat(t.getAttribute("x1")||"0"),y1:parseFloat(t.getAttribute("y1")||"0"),x2:parseFloat(t.getAttribute("x2")||"0"),y2:parseFloat(t.getAttribute("y2")||"0")}),n.silent=!0,n},ellipse:function(t,e){var n=new Iu;return _T(e,n),wT(t,n,this._defsUsePending,!1,!1),n.setShape({cx:parseFloat(t.getAttribute("cx")||"0"),cy:parseFloat(t.getAttribute("cy")||"0"),rx:parseFloat(t.getAttribute("rx")||"0"),ry:parseFloat(t.getAttribute("ry")||"0")}),n.silent=!0,n},polygon:function(t,e){var n,i=t.getAttribute("points");i&&(n=bT(i));var r=new Xu({shape:{points:n||[]},silent:!0});return _T(e,r),wT(t,r,this._defsUsePending,!1,!1),r},polyline:function(t,e){var n,i=t.getAttribute("points");i&&(n=bT(i));var r=new Zu({shape:{points:n||[]},silent:!0});return _T(e,r),wT(t,r,this._defsUsePending,!1,!1),r},image:function(t,e){var n=new Ns;return _T(e,n),wT(t,n,this._defsUsePending,!1,!1),n.setStyle({image:t.getAttribute("xlink:href")||t.getAttribute("href"),x:+t.getAttribute("x"),y:+t.getAttribute("y"),width:+t.getAttribute("width"),height:+t.getAttribute("height")}),n.silent=!0,n},text:function(t,e){var n=t.getAttribute("x")||"0",i=t.getAttribute("y")||"0",r=t.getAttribute("dx")||"0",o=t.getAttribute("dy")||"0";this._textX=parseFloat(n)+parseFloat(r),this._textY=parseFloat(i)+parseFloat(o);var a=new Br;return _T(e,a),wT(t,a,this._defsUsePending,!1,!0),a},tspan:function(t,e){var n=t.getAttribute("x"),i=t.getAttribute("y");null!=n&&(this._textX=parseFloat(n)),null!=i&&(this._textY=parseFloat(i));var r=t.getAttribute("dx")||"0",o=t.getAttribute("dy")||"0",a=new Br;return _T(e,a),wT(t,a,this._defsUsePending,!1,!0),this._textX+=parseFloat(r),this._textY+=parseFloat(o),a},path:function(t,e){var n=_u(t.getAttribute("d")||"");return _T(e,n),wT(t,n,this._defsUsePending,!1,!1),n.silent=!0,n}}),t}(),vT={lineargradient:function(t){var e=parseInt(t.getAttribute("x1")||"0",10),n=parseInt(t.getAttribute("y1")||"0",10),i=parseInt(t.getAttribute("x2")||"10",10),r=parseInt(t.getAttribute("y2")||"0",10),o=new oh(e,n,i,r);return mT(t,o),xT(t,o),o},radialgradient:function(t){var e=parseInt(t.getAttribute("cx")||"0",10),n=parseInt(t.getAttribute("cy")||"0",10),i=parseInt(t.getAttribute("r")||"0",10),r=new ah(e,n,i);return mT(t,r),xT(t,r),r}};function mT(t,e){"userSpaceOnUse"===t.getAttribute("gradientUnits")&&(e.global=!0)}function xT(t,e){for(var n=t.firstChild;n;){if(1===n.nodeType&&"stop"===n.nodeName.toLocaleLowerCase()){var i=n.getAttribute("offset"),r=void 0;r=i&&i.indexOf("%")>0?parseInt(i,10)/100:i?parseFloat(i):0;var o={};kT(n,o,o);var a=o.stopColor||n.getAttribute("stop-color")||"#000000";e.colorStops.push({offset:r,color:a})}n=n.nextSibling}}function _T(t,e){t&&t.__inheritedStyle&&(e.__inheritedStyle||(e.__inheritedStyle={}),k(e.__inheritedStyle,t.__inheritedStyle))}function bT(t){for(var e=TT(t),n=[],i=0;i0;o-=2){var a=i[o],s=i[o-1],l=TT(a);switch(r=r||[1,0,0,1,0,0],s){case"translate":we(r,r,[parseFloat(l[0]),parseFloat(l[1]||"0")]);break;case"scale":Me(r,r,[parseFloat(l[0]),parseFloat(l[1]||l[0])]);break;case"rotate":Se(r,r,-parseFloat(l[0])*DT,[parseFloat(l[1]||"0"),parseFloat(l[2]||"0")]);break;case"skewX":be(r,[1,0,Math.tan(parseFloat(l[0])*DT),1,0,0],r);break;case"skewY":be(r,[1,Math.tan(parseFloat(l[0])*DT),0,1,0,0],r);break;case"matrix":r[0]=parseFloat(l[0]),r[1]=parseFloat(l[1]),r[2]=parseFloat(l[2]),r[3]=parseFloat(l[3]),r[4]=parseFloat(l[4]),r[5]=parseFloat(l[5])}}e.setLocalTransform(r)}}(t,e),kT(t,a,s),i||function(t,e,n){for(var i=0;i0,f={api:n,geo:s,mapOrGeoModel:t,data:a,isVisualEncodedByVisualMap:d,isGeo:o,transformInfoRaw:c};"geoJSON"===s.resourceType?this._buildGeoJSON(f):"geoSVG"===s.resourceType&&this._buildSVG(f),this._updateController(t,e,n),this._updateMapSelectHandler(t,l,n,i)},t.prototype._buildGeoJSON=function(t){var e=this._regionsGroupByName=yt(),n=yt(),i=this._regionsGroup,r=t.transformInfoRaw,o=t.mapOrGeoModel,a=t.data,s=t.geo.projection,l=s&&s.stream;function u(t,e){return e&&(t=e(t)),t&&[t[0]*r.scaleX+r.x,t[1]*r.scaleY+r.y]}function h(t){for(var e=[],n=!l&&s&&s.project,i=0;i=0)&&(p=r);var d=a?{normal:{align:"center",verticalAlign:"middle"}}:null;ic(e,rc(i),{labelFetcher:p,labelDataIndex:c,defaultText:n},d);var f=e.getTextContent();if(f&&(JT(f).ignore=f.ignore,e.textConfig&&a)){var g=e.getBoundingRect().clone();e.textConfig.layoutRect=g,e.textConfig.position=[(a[0]-g.x)/g.width*100+"%",(a[1]-g.y)/g.height*100+"%"]}e.disableLabelAnimation=!0}else e.removeTextContent(),e.removeTextConfig(),e.disableLabelAnimation=null}function rC(t,e,n,i,r,o){t.data?t.data.setItemGraphicEl(o,e):rl(e).eventData={componentType:"geo",componentIndex:r.componentIndex,geoIndex:r.componentIndex,name:n,region:i&&i.option||{}}}function oC(t,e,n,i,r){t.data||Kh({el:e,componentModel:r,itemName:n,itemTooltipOption:i.get("tooltip")})}function aC(t,e,n,i,r){e.highDownSilentOnTouch=!!r.get("selectedMode");var o=i.getModel("emphasis"),a=o.get("focus");return Zl(e,a,o.get("blurScope"),o.get("disabled")),t.isGeo&&function(t,e,n){var i=rl(t);i.componentMainType=e.mainType,i.componentIndex=e.componentIndex,i.componentHighDownName=n}(e,r,n),a}function sC(t,e,n){var i,r=[];function o(){i=[]}function a(){i.length&&(r.push(i),i=[])}var s=e({polygonStart:o,polygonEnd:a,lineStart:o,lineEnd:a,point:function(t,e){isFinite(t)&&isFinite(e)&&i.push([t,e])},sphere:function(){}});return!n&&s.polygonStart(),E(t,(function(t){s.lineStart();for(var e=0;e-1&&(n.style.stroke=n.style.fill,n.style.fill="#fff",n.style.lineWidth=2),n},e.type="series.map",e.dependencies=["geo"],e.layoutMode="box",e.defaultOption={z:2,coordinateSystem:"geo",map:"",left:"center",top:"center",aspectScale:null,showLegendSymbol:!0,boundingCoords:null,center:null,zoom:1,scaleLimit:null,selectedMode:!0,label:{show:!1,color:"#000"},itemStyle:{borderWidth:.5,borderColor:"#444",areaColor:"#eee"},emphasis:{label:{show:!0,color:"rgb(100,0,0)"},itemStyle:{areaColor:"rgba(255,215,0,0.8)"}},select:{label:{show:!0,color:"rgb(100,0,0)"},itemStyle:{color:"rgba(255,215,0,0.8)"}},nameProperty:"name"},e}(bg);function hC(t){var e={};t.eachSeriesByType("map",(function(t){var n=t.getHostGeoModel(),i=n?"o"+n.id:"i"+t.getMapType();(e[i]=e[i]||[]).push(t)})),E(e,(function(t,e){for(var n,i,r,o=(n=z(t,(function(t){return t.getData()})),i=t[0].get("mapValueCalculation"),r={},E(n,(function(t){t.each(t.mapDimension("value"),(function(e,n){var i="ec-"+t.getName(n);r[i]=r[i]||[],isNaN(e)||r[i].push(e)}))})),n[0].map(n[0].mapDimension("value"),(function(t,e){for(var o="ec-"+n[0].getName(e),a=0,s=1/0,l=-1/0,u=r[o].length,h=0;h1?(d.width=p,d.height=p/x):(d.height=p,d.width=p*x),d.y=c[1]-d.height/2,d.x=c[0]-d.width/2;else{var b=t.getBoxLayoutParams();b.aspect=x,d=kp(b,{width:v,height:m})}this.setViewRect(d.x,d.y,d.width,d.height),this.setCenter(t.get("center"),e),this.setZoom(t.get("zoom"))}R(vC,dC);var _C=function(){function t(){this.dimensions=yC}return t.prototype.create=function(t,e){var n=[];function i(t){return{nameProperty:t.get("nameProperty"),aspectScale:t.get("aspectScale"),projection:t.get("projection")}}t.eachComponent("geo",(function(t,r){var o=t.get("map"),a=new vC(o+r,o,A({nameMap:t.get("nameMap")},i(t)));a.zoomLimit=t.get("scaleLimit"),n.push(a),t.coordinateSystem=a,a.model=t,a.resize=xC,a.resize(t,e)})),t.eachSeries((function(t){if("geo"===t.get("coordinateSystem")){var e=t.get("geoIndex")||0;t.coordinateSystem=n[e]}}));var r={};return t.eachSeriesByType("map",(function(t){if(!t.getHostGeoModel()){var e=t.getMapType();r[e]=r[e]||[],r[e].push(t)}})),E(r,(function(t,r){var o=z(t,(function(t){return t.get("nameMap")})),a=new vC(r,r,A({nameMap:D(o)},i(t[0])));a.zoomLimit=it.apply(null,z(t,(function(t){return t.get("scaleLimit")}))),n.push(a),a.resize=xC,a.resize(t[0],e),E(t,(function(t){t.coordinateSystem=a,function(t,e){E(e.get("geoCoord"),(function(e,n){t.addGeoCoord(n,e)}))}(a,t)}))})),n},t.prototype.getFilledRegions=function(t,e,n,i){for(var r=(t||[]).slice(),o=yt(),a=0;a=0;){var o=e[n];o.hierNode.prelim+=i,o.hierNode.modifier+=i,r+=o.hierNode.change,i+=o.hierNode.shift+r}}(t);var o=(n[0].hierNode.prelim+n[n.length-1].hierNode.prelim)/2;r?(t.hierNode.prelim=r.hierNode.prelim+e(t,r),t.hierNode.modifier=t.hierNode.prelim-o):t.hierNode.prelim=o}else r&&(t.hierNode.prelim=r.hierNode.prelim+e(t,r));t.parentNode.hierNode.defaultAncestor=function(t,e,n,i){if(e){for(var r=t,o=t,a=o.parentNode.children[0],s=e,l=r.hierNode.modifier,u=o.hierNode.modifier,h=a.hierNode.modifier,c=s.hierNode.modifier;s=PC(s),o=OC(o),s&&o;){r=PC(r),a=OC(a),r.hierNode.ancestor=t;var p=s.hierNode.prelim+c-o.hierNode.prelim-u+i(s,o);p>0&&(NC(RC(s,t,n),t,p),u+=p,l+=p),c+=s.hierNode.modifier,u+=o.hierNode.modifier,l+=r.hierNode.modifier,h+=a.hierNode.modifier}s&&!PC(r)&&(r.hierNode.thread=s,r.hierNode.modifier+=c-l),o&&!OC(a)&&(a.hierNode.thread=o,a.hierNode.modifier+=u-h,n=t)}return n}(t,r,t.parentNode.hierNode.defaultAncestor||i[0],e)}function AC(t){var e=t.hierNode.prelim+t.parentNode.hierNode.modifier;t.setLayout({x:e},!0),t.hierNode.modifier+=t.parentNode.hierNode.modifier}function kC(t){return arguments.length?t:EC}function LC(t,e){return t-=Math.PI/2,{x:e*Math.cos(t),y:e*Math.sin(t)}}function PC(t){var e=t.children;return e.length&&t.isExpand?e[e.length-1]:t.hierNode.thread}function OC(t){var e=t.children;return e.length&&t.isExpand?e[0]:t.hierNode.thread}function RC(t,e,n){return t.hierNode.ancestor.parentNode===e.parentNode?t.hierNode.ancestor:n}function NC(t,e,n){var i=n/(e.hierNode.i-t.hierNode.i);e.hierNode.change-=i,e.hierNode.shift+=n,e.hierNode.modifier+=n,e.hierNode.prelim+=n,t.hierNode.change+=i}function EC(t,e){return t.parentNode===e.parentNode?1:2}var zC=function(){this.parentPoint=[],this.childPoints=[]},VC=function(t){function e(e){return t.call(this,e)||this}return n(e,t),e.prototype.getDefaultStyle=function(){return{stroke:"#000",fill:null}},e.prototype.getDefaultShape=function(){return new zC},e.prototype.buildPath=function(t,e){var n=e.childPoints,i=n.length,r=e.parentPoint,o=n[0],a=n[i-1];if(1===i)return t.moveTo(r[0],r[1]),void t.lineTo(o[0],o[1]);var s=e.orient,l="TB"===s||"BT"===s?0:1,u=1-l,h=$r(e.forkPosition,1),c=[];c[l]=r[l],c[u]=r[u]+(a[u]-r[u])*h,t.moveTo(r[0],r[1]),t.lineTo(c[0],c[1]),t.moveTo(o[0],o[1]),c[l]=o[l],t.lineTo(c[0],c[1]),c[l]=a[l],t.lineTo(c[0],c[1]),t.lineTo(a[0],a[1]);for(var p=1;pm.x)||(_-=Math.PI);var S=b?"left":"right",M=s.getModel("label"),I=M.get("rotate"),T=I*(Math.PI/180),C=y.getTextContent();C&&(y.setTextConfig({position:M.get("position")||S,rotation:null==I?-_:T,origin:"center"}),C.setStyle("verticalAlign","middle"))}var D=s.get(["emphasis","focus"]),A="relative"===D?vt(a.getAncestorsIndices(),a.getDescendantIndices()):"ancestor"===D?a.getAncestorsIndices():"descendant"===D?a.getDescendantIndices():null;A&&(rl(n).focus=A),function(t,e,n,i,r,o,a,s){var l=e.getModel(),u=t.get("edgeShape"),h=t.get("layout"),c=t.getOrient(),p=t.get(["lineStyle","curveness"]),d=t.get("edgeForkPosition"),f=l.getModel("lineStyle").getLineStyle(),g=i.__edge;if("curve"===u)e.parentNode&&e.parentNode!==n&&(g||(g=i.__edge=new th({shape:XC(h,c,p,r,r)})),vh(g,{shape:XC(h,c,p,o,a)},t));else if("polyline"===u)if("orthogonal"===h){if(e!==n&&e.children&&0!==e.children.length&&!0===e.isExpand){for(var y=e.children,v=[],m=0;me&&(e=i.height)}this.height=e+1},t.prototype.getNodeById=function(t){if(this.getId()===t)return this;for(var e=0,n=this.children,i=n.length;e=0&&this.hostTree.data.setItemLayout(this.dataIndex,t,e)},t.prototype.getLayout=function(){return this.hostTree.data.getItemLayout(this.dataIndex)},t.prototype.getModel=function(t){if(!(this.dataIndex<0))return this.hostTree.data.getItemModel(this.dataIndex).getModel(t)},t.prototype.getLevelModel=function(){return(this.hostTree.levelModels||[])[this.depth]},t.prototype.setVisual=function(t,e){this.dataIndex>=0&&this.hostTree.data.setItemVisual(this.dataIndex,t,e)},t.prototype.getVisual=function(t){return this.hostTree.data.getItemVisual(this.dataIndex,t)},t.prototype.getRawIndex=function(){return this.hostTree.data.getRawIndex(this.dataIndex)},t.prototype.getId=function(){return this.hostTree.data.getId(this.dataIndex)},t.prototype.getChildIndex=function(){if(this.parentNode){for(var t=this.parentNode.children,e=0;e=0){var i=n.getData().tree.root,r=t.targetNode;if(U(r)&&(r=i.getNodeById(r)),r&&i.contains(r))return{node:r};var o=t.targetNodeId;if(null!=o&&(r=i.getNodeById(o)))return{node:r}}}function rD(t){for(var e=[];t;)(t=t.parentNode)&&e.push(t);return e.reverse()}function oD(t,e){return P(rD(t),e)>=0}function aD(t,e){for(var n=[];t;){var i=t.dataIndex;n.push({name:t.name,dataIndex:i,value:e.getRawValue(i)}),t=t.parentNode}return n.reverse(),n}var sD=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.hasSymbolVisual=!0,e.ignoreStyleOnData=!0,e}return n(e,t),e.prototype.getInitialData=function(t){var e={name:t.name,children:t.data},n=t.leaves||{},i=new Cc(n,this,this.ecModel),r=nD.createTree(e,this,(function(t){t.wrapMethod("getItemModel",(function(t,e){var n=r.getNodeByDataIndex(e);return n&&n.children.length&&n.isExpand||(t.parentModel=i),t}))}));var o=0;r.eachNode("preorder",(function(t){t.depth>o&&(o=t.depth)}));var a=t.expandAndCollapse&&t.initialTreeDepth>=0?t.initialTreeDepth:o;return r.root.eachNode("preorder",(function(t){var e=t.hostTree.data.getRawDataItem(t.dataIndex);t.isExpand=e&&null!=e.collapsed?!e.collapsed:t.depth<=a})),r.data},e.prototype.getOrient=function(){var t=this.get("orient");return"horizontal"===t?t="LR":"vertical"===t&&(t="TB"),t},e.prototype.setZoom=function(t){this.option.zoom=t},e.prototype.setCenter=function(t){this.option.center=t},e.prototype.formatTooltip=function(t,e,n){for(var i=this.getData().tree,r=i.root.children[0],o=i.getNodeByDataIndex(t),a=o.getValue(),s=o.name;o&&o!==r;)s=o.parentNode.name+"."+s,o=o.parentNode;return og("nameValue",{name:s,value:a,noValue:isNaN(a)||null==a})},e.prototype.getDataParams=function(e){var n=t.prototype.getDataParams.apply(this,arguments),i=this.getData().tree.getNodeByDataIndex(e);return n.treeAncestors=aD(i,this),n.collapsed=!i.isExpand,n},e.type="series.tree",e.layoutMode="box",e.defaultOption={z:2,coordinateSystem:"view",left:"12%",top:"12%",right:"12%",bottom:"12%",layout:"orthogonal",edgeShape:"curve",edgeForkPosition:"50%",roam:!1,nodeScaleRatio:.4,center:null,zoom:1,orient:"LR",symbol:"emptyCircle",symbolSize:7,expandAndCollapse:!0,initialTreeDepth:2,lineStyle:{color:"#ccc",width:1.5,curveness:.5},itemStyle:{color:"lightsteelblue",borderWidth:1.5},label:{show:!0},animationEasing:"linear",animationDuration:700,animationDurationUpdate:500},e}(bg);function lD(t,e){for(var n,i=[t];n=i.pop();)if(e(n),n.isExpand){var r=n.children;if(r.length)for(var o=r.length-1;o>=0;o--)i.push(r[o])}}function uD(t,e){t.eachSeriesByType("tree",(function(t){!function(t,e){var n=function(t,e){return kp(t.getBoxLayoutParams(),{width:e.getWidth(),height:e.getHeight()})}(t,e);t.layoutInfo=n;var i=t.get("layout"),r=0,o=0,a=null;"radial"===i?(r=2*Math.PI,o=Math.min(n.height,n.width)/2,a=kC((function(t,e){return(t.parentNode===e.parentNode?1:2)/t.depth}))):(r=n.width,o=n.height,a=kC());var s=t.getData().tree.root,l=s.children[0];if(l){!function(t){var e=t;e.hierNode={defaultAncestor:null,ancestor:e,prelim:0,modifier:0,change:0,shift:0,i:0,thread:null};for(var n,i,r=[e];n=r.pop();)if(i=n.children,n.isExpand&&i.length)for(var o=i.length-1;o>=0;o--){var a=i[o];a.hierNode={defaultAncestor:null,ancestor:a,prelim:0,modifier:0,change:0,shift:0,i:o,thread:null},r.push(a)}}(s),function(t,e,n){for(var i,r=[t],o=[];i=r.pop();)if(o.push(i),i.isExpand){var a=i.children;if(a.length)for(var s=0;sh.getLayout().x&&(h=t),t.depth>c.depth&&(c=t)}));var p=u===h?1:a(u,h)/2,d=p-u.getLayout().x,f=0,g=0,y=0,v=0;if("radial"===i)f=r/(h.getLayout().x+p+d),g=o/(c.depth-1||1),lD(l,(function(t){y=(t.getLayout().x+d)*f,v=(t.depth-1)*g;var e=LC(y,v);t.setLayout({x:e.x,y:e.y,rawX:y,rawY:v},!0)}));else{var m=t.getOrient();"RL"===m||"LR"===m?(g=o/(h.getLayout().x+p+d),f=r/(c.depth-1||1),lD(l,(function(t){v=(t.getLayout().x+d)*g,y="LR"===m?(t.depth-1)*f:r-(t.depth-1)*f,t.setLayout({x:y,y:v},!0)}))):"TB"!==m&&"BT"!==m||(f=r/(h.getLayout().x+p+d),g=o/(c.depth-1||1),lD(l,(function(t){y=(t.getLayout().x+d)*f,v="TB"===m?(t.depth-1)*g:o-(t.depth-1)*g,t.setLayout({x:y,y:v},!0)})))}}}(t,e)}))}function hD(t){t.eachSeriesByType("tree",(function(t){var e=t.getData();e.tree.eachNode((function(t){var n=t.getModel().getModel("itemStyle").getItemStyle();A(e.ensureUniqueItemVisual(t.dataIndex,"style"),n)}))}))}var cD=["treemapZoomToNode","treemapRender","treemapMove"];function pD(t){var e=t.getData().tree,n={};e.eachNode((function(e){for(var i=e;i&&i.depth>1;)i=i.parentNode;var r=pd(t.ecModel,i.name||i.dataIndex+"",n);e.setVisual("decal",r)}))}var dD=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n.preventUsingHoverLayer=!0,n}return n(e,t),e.prototype.getInitialData=function(t,e){var n={name:t.name,children:t.data};fD(n);var i=t.levels||[],r=this.designatedVisualItemStyle={},o=new Cc({itemStyle:r},this,e);i=t.levels=function(t,e){var n,i,r=To(e.get("color")),o=To(e.get(["aria","decal","decals"]));if(!r)return;t=t||[],E(t,(function(t){var e=new Cc(t),r=e.get("color"),o=e.get("decal");(e.get(["itemStyle","color"])||r&&"none"!==r)&&(n=!0),(e.get(["itemStyle","decal"])||o&&"none"!==o)&&(i=!0)}));var a=t[0]||(t[0]={});n||(a.color=r.slice());!i&&o&&(a.decal=o.slice());return t}(i,e);var a=z(i||[],(function(t){return new Cc(t,o,e)}),this),s=nD.createTree(n,this,(function(t){t.wrapMethod("getItemModel",(function(t,e){var n=s.getNodeByDataIndex(e),i=n?a[n.depth]:null;return t.parentModel=i||o,t}))}));return s.data},e.prototype.optionUpdated=function(){this.resetViewRoot()},e.prototype.formatTooltip=function(t,e,n){var i=this.getData(),r=this.getRawValue(t);return og("nameValue",{name:i.getName(t),value:r})},e.prototype.getDataParams=function(e){var n=t.prototype.getDataParams.apply(this,arguments),i=this.getData().tree.getNodeByDataIndex(e);return n.treeAncestors=aD(i,this),n.treePathInfo=n.treeAncestors,n},e.prototype.setLayoutInfo=function(t){this.layoutInfo=this.layoutInfo||{},A(this.layoutInfo,t)},e.prototype.mapIdToIndex=function(t){var e=this._idIndexMap;e||(e=this._idIndexMap=yt(),this._idIndexMapCount=0);var n=e.get(t);return null==n&&e.set(t,n=this._idIndexMapCount++),n},e.prototype.getViewRoot=function(){return this._viewRoot},e.prototype.resetViewRoot=function(t){t?this._viewRoot=t:t=this._viewRoot;var e=this.getRawData().tree.root;t&&(t===e||e.contains(t))||(this._viewRoot=e)},e.prototype.enableAriaDecal=function(){pD(this)},e.type="series.treemap",e.layoutMode="box",e.defaultOption={progressive:0,left:"center",top:"middle",width:"80%",height:"80%",sort:!0,clipWindow:"origin",squareRatio:.5*(1+Math.sqrt(5)),leafDepth:null,drillDownIcon:"▶",zoomToNodeRatio:.1024,scaleLimit:null,roam:!0,nodeClick:"zoomToNode",animation:!0,animationDurationUpdate:900,animationEasing:"quinticInOut",breadcrumb:{show:!0,height:22,left:"center",top:"bottom",emptyItemWidth:25,itemStyle:{color:"rgba(0,0,0,0.7)",textStyle:{color:"#fff"}},emphasis:{itemStyle:{color:"rgba(0,0,0,0.9)"}}},label:{show:!0,distance:0,padding:5,position:"inside",color:"#fff",overflow:"truncate"},upperLabel:{show:!1,position:[0,"50%"],height:20,overflow:"truncate",verticalAlign:"middle"},itemStyle:{color:null,colorAlpha:null,colorSaturation:null,borderWidth:0,gapWidth:0,borderColor:"#fff",borderColorSaturation:null},emphasis:{upperLabel:{show:!0,position:[0,"50%"],overflow:"truncate",verticalAlign:"middle"}},visualDimension:0,visualMin:null,visualMax:null,color:[],colorAlpha:null,colorSaturation:null,colorMappingBy:"index",visibleMin:10,childrenVisibleMin:null,levels:[]},e}(bg);function fD(t){var e=0;E(t.children,(function(t){fD(t);var n=t.value;Y(n)&&(n=n[0]),e+=n}));var n=t.value;Y(n)&&(n=n[0]),(null==n||isNaN(n))&&(n=e),n<0&&(n=0),Y(t.value)?t.value[0]=n:t.value=n}var gD=function(){function t(t){this.group=new Br,t.add(this.group)}return t.prototype.render=function(t,e,n,i){var r=t.getModel("breadcrumb"),o=this.group;if(o.removeAll(),r.get("show")&&n){var a=r.getModel("itemStyle"),s=r.getModel("emphasis"),l=a.getModel("textStyle"),u=s.getModel(["itemStyle","textStyle"]),h={pos:{left:r.get("left"),right:r.get("right"),top:r.get("top"),bottom:r.get("bottom")},box:{width:e.getWidth(),height:e.getHeight()},emptyItemWidth:r.get("emptyItemWidth"),totalWidth:0,renderList:[]};this._prepare(n,h,l),this._renderContent(t,h,a,s,l,u,i),Lp(o,h.pos,h.box)}},t.prototype._prepare=function(t,e,n){for(var i=t;i;i=i.parentNode){var r=Ro(i.getModel().get("name"),""),o=n.getTextRect(r),a=Math.max(o.width+16,e.emptyItemWidth);e.totalWidth+=a+8,e.renderList.push({node:i,text:r,width:a})}},t.prototype._renderContent=function(t,e,n,i,r,o,a){for(var s,l,u,h,c,p,d,f,g,y=0,v=e.emptyItemWidth,m=t.get(["breadcrumb","height"]),x=(s=e.pos,l=e.box,h=l.width,c=l.height,p=$r(s.left,h),d=$r(s.top,c),f=$r(s.right,h),g=$r(s.bottom,c),(isNaN(p)||isNaN(parseFloat(s.left)))&&(p=0),(isNaN(f)||isNaN(parseFloat(s.right)))&&(f=h),(isNaN(d)||isNaN(parseFloat(s.top)))&&(d=0),(isNaN(g)||isNaN(parseFloat(s.bottom)))&&(g=c),u=vp(u||0),{width:Math.max(f-p-u[1]-u[3],0),height:Math.max(g-d-u[0]-u[2],0)}),_=e.totalWidth,b=e.renderList,w=i.getModel("itemStyle").getItemStyle(),S=b.length-1;S>=0;S--){var M=b[S],I=M.node,T=M.width,C=M.text;_>x.width&&(_-=T-v,T=v,C=null);var D=new Xu({shape:{points:yD(y,0,T,m,S===b.length-1,0===S)},style:k(n.getItemStyle(),{lineJoin:"bevel"}),textContent:new Xs({style:oc(r,{text:C})}),textConfig:{position:"inside"},z2:1e5,onclick:H(a,I)});D.disableLabelAnimation=!0,D.getTextContent().ensureState("emphasis").style=oc(o,{text:C}),D.ensureState("emphasis").style=w,Zl(D,i.get("focus"),i.get("blurScope"),i.get("disabled")),this.group.add(D),vD(D,t,I),y+=T+8}},t.prototype.remove=function(){this.group.removeAll()},t}();function yD(t,e,n,i,r,o){var a=[[r?t:t-5,e],[t+n,e],[t+n,e+i],[r?t:t-5,e+i]];return!o&&a.splice(2,0,[t+n+5,e+i/2]),!r&&a.push([t,e+i/2]),a}function vD(t,e,n){rl(t).eventData={componentType:"series",componentSubType:"treemap",componentIndex:e.componentIndex,seriesIndex:e.seriesIndex,seriesName:e.name,seriesType:"treemap",selfType:"breadcrumb",nodeData:{dataIndex:n&&n.dataIndex,name:n&&n.name},treePathInfo:n&&aD(n,e)}}var mD=function(){function t(){this._storage=[],this._elExistsMap={}}return t.prototype.add=function(t,e,n,i,r){return!this._elExistsMap[t.id]&&(this._elExistsMap[t.id]=!0,this._storage.push({el:t,target:e,duration:n,delay:i,easing:r}),!0)},t.prototype.finished=function(t){return this._finishedCallback=t,this},t.prototype.start=function(){for(var t=this,e=this._storage.length,n=function(){--e<=0&&(t._storage.length=0,t._elExistsMap={},t._finishedCallback&&t._finishedCallback())},i=0,r=this._storage.length;i3||Math.abs(t.dy)>3)){var e=this.seriesModel.getData().tree.root;if(!e)return;var n=e.getLayout();if(!n)return;this.api.dispatchAction({type:"treemapMove",from:this.uid,seriesId:this.seriesModel.id,rootRect:{x:n.x+t.dx,y:n.y+t.dy,width:n.width,height:n.height}})}},e.prototype._onZoom=function(t){var e=t.originX,n=t.originY,i=t.scale;if("animating"!==this._state){var r=this.seriesModel.getData().tree.root;if(!r)return;var o=r.getLayout();if(!o)return;var a,s=new ze(o.x,o.y,o.width,o.height),l=this._controllerHost;a=l.zoomLimit;var u=l.zoom=l.zoom||1;if(u*=i,a){var h=a.min||0,c=a.max||1/0;u=Math.max(Math.min(c,u),h)}var p=u/l.zoom;l.zoom=u;var d=this.seriesModel.layoutInfo,f=[1,0,0,1,0,0];we(f,f,[-(e-=d.x),-(n-=d.y)]),Me(f,f,[p,p]),we(f,f,[e,n]),s.applyTransform(f),this.api.dispatchAction({type:"treemapRender",from:this.uid,seriesId:this.seriesModel.id,rootRect:{x:s.x,y:s.y,width:s.width,height:s.height}})}},e.prototype._initEvents=function(t){var e=this;t.on("click",(function(t){if("ready"===e._state){var n=e.seriesModel.get("nodeClick",!0);if(n){var i=e.findTarget(t.offsetX,t.offsetY);if(i){var r=i.node;if(r.getLayout().isLeafRoot)e._rootToNode(i);else if("zoomToNode"===n)e._zoomToNode(i);else if("link"===n){var o=r.hostTree.data.getItemModel(r.dataIndex),a=o.get("link",!0),s=o.get("target",!0)||"blank";a&&Mp(a,s)}}}}}),this)},e.prototype._renderBreadcrumb=function(t,e,n){var i=this;n||(n=null!=t.get("leafDepth",!0)?{node:t.getViewRoot()}:this.findTarget(e.getWidth()/2,e.getHeight()/2))||(n={node:t.getData().tree.root}),(this._breadcrumb||(this._breadcrumb=new gD(this.group))).render(t,e,n.node,(function(e){"animating"!==i._state&&(oD(t.getViewRoot(),e)?i._rootToNode({node:e}):i._zoomToNode({node:e}))}))},e.prototype.remove=function(){this._clearController(),this._containerGroup&&this._containerGroup.removeAll(),this._storage={nodeGroup:[],background:[],content:[]},this._state="ready",this._breadcrumb&&this._breadcrumb.remove()},e.prototype.dispose=function(){this._clearController()},e.prototype._zoomToNode=function(t){this.api.dispatchAction({type:"treemapZoomToNode",from:this.uid,seriesId:this.seriesModel.id,targetNode:t.node})},e.prototype._rootToNode=function(t){this.api.dispatchAction({type:"treemapRootToNode",from:this.uid,seriesId:this.seriesModel.id,targetNode:t.node})},e.prototype.findTarget=function(t,e){var n;return this.seriesModel.getViewRoot().eachNode({attr:"viewChildren",order:"preorder"},(function(i){var r=this._storage.background[i.getRawIndex()];if(r){var o=r.transformCoordToLocal(t,e),a=r.shape;if(!(a.x<=o[0]&&o[0]<=a.x+a.width&&a.y<=o[1]&&o[1]<=a.y+a.height))return!1;n={node:i,offsetX:o[0],offsetY:o[1]}}}),this),n},e.type="treemap",e}(Og);var CD=E,DD=q,AD=-1,kD=function(){function t(e){var n=e.mappingMethod,i=e.type,r=this.option=T(e);this.type=i,this.mappingMethod=n,this._normalizeData=FD[n];var o=t.visualHandlers[i];this.applyVisual=o.applyVisual,this.getColorMapper=o.getColorMapper,this._normalizedToVisual=o._normalizedToVisual[n],"piecewise"===n?(LD(r),function(t){var e=t.pieceList;t.hasSpecialVisual=!1,E(e,(function(e,n){e.originIndex=n,null!=e.visual&&(t.hasSpecialVisual=!0)}))}(r)):"category"===n?r.categories?function(t){var e=t.categories,n=t.categoryMap={},i=t.visual;if(CD(e,(function(t,e){n[t]=e})),!Y(i)){var r=[];q(i)?CD(i,(function(t,e){var i=n[e];r[null!=i?i:AD]=t})):r[-1]=i,i=BD(t,r)}for(var o=e.length-1;o>=0;o--)null==i[o]&&(delete n[e[o]],e.pop())}(r):LD(r,!0):(lt("linear"!==n||r.dataExtent),LD(r))}return t.prototype.mapValueToVisual=function(t){var e=this._normalizeData(t);return this._normalizedToVisual(e,t)},t.prototype.getNormalizer=function(){return W(this._normalizeData,this)},t.listVisualTypes=function(){return G(t.visualHandlers)},t.isValidType=function(e){return t.visualHandlers.hasOwnProperty(e)},t.eachVisual=function(t,e,n){q(t)?E(t,e,n):e.call(n,t)},t.mapVisual=function(e,n,i){var r,o=Y(e)?[]:q(e)?{}:(r=!0,null);return t.eachVisual(e,(function(t,e){var a=n.call(i,t,e);r?o=a:o[e]=a})),o},t.retrieveVisuals=function(e){var n,i={};return e&&CD(t.visualHandlers,(function(t,r){e.hasOwnProperty(r)&&(i[r]=e[r],n=!0)})),n?i:null},t.prepareVisualTypes=function(t){if(Y(t))t=t.slice();else{if(!DD(t))return[];var e=[];CD(t,(function(t,n){e.push(n)})),t=e}return t.sort((function(t,e){return"color"===e&&"color"!==t&&0===t.indexOf("color")?1:-1})),t},t.dependsOn=function(t,e){return"color"===e?!(!t||0!==t.indexOf(e)):t===e},t.findPieceIndex=function(t,e,n){for(var i,r=1/0,o=0,a=e.length;ou[1]&&(u[1]=l);var h=e.get("colorMappingBy"),c={type:a.name,dataExtent:u,visual:a.range};"color"!==c.type||"index"!==h&&"id"!==h?c.mappingMethod="linear":(c.mappingMethod="category",c.loop=!0);var p=new kD(c);return WD(p).drColorMappingBy=h,p}(0,r,o,0,u,d);E(d,(function(t,e){if(t.depth>=n.length||t===n[t.depth]){var o=function(t,e,n,i,r,o){var a=A({},e);if(r){var s=r.type,l="color"===s&&WD(r).drColorMappingBy,u="index"===l?i:"id"===l?o.mapIdToIndex(n.getId()):n.getValue(t.get("visualDimension"));a[s]=r.mapValueToVisual(u)}return a}(r,u,t,e,f,i);YD(t,o,n,i)}}))}else s=XD(u),h.fill=s}}function XD(t){var e=UD(t,"color");if(e){var n=UD(t,"colorAlpha"),i=UD(t,"colorSaturation");return i&&(e=ni(e,null,null,i)),n&&(e=ii(e,n)),e}}function UD(t,e){var n=t[e];if(null!=n&&"none"!==n)return n}function ZD(t,e){var n=t.get(e);return Y(n)&&n.length?{name:e,range:n}:null}var jD=Math.max,qD=Math.min,KD=it,$D=E,JD=["itemStyle","borderWidth"],QD=["itemStyle","gapWidth"],tA=["upperLabel","show"],eA=["upperLabel","height"],nA={seriesType:"treemap",reset:function(t,e,n,i){var r=n.getWidth(),o=n.getHeight(),a=t.option,s=kp(t.getBoxLayoutParams(),{width:n.getWidth(),height:n.getHeight()}),l=a.size||[],u=$r(KD(s.width,l[0]),r),h=$r(KD(s.height,l[1]),o),c=i&&i.type,p=iD(i,["treemapZoomToNode","treemapRootToNode"],t),d="treemapRender"===c||"treemapMove"===c?i.rootRect:null,f=t.getViewRoot(),g=rD(f);if("treemapMove"!==c){var y="treemapZoomToNode"===c?function(t,e,n,i,r){var o,a=(e||{}).node,s=[i,r];if(!a||a===n)return s;var l=i*r,u=l*t.option.zoomToNodeRatio;for(;o=a.parentNode;){for(var h=0,c=o.children,p=0,d=c.length;poo&&(u=oo),a=o}ua[1]&&(a[1]=e)}))):a=[NaN,NaN];return{sum:i,dataExtent:a}}(e,a,s);if(0===u.sum)return t.viewChildren=[];if(u.sum=function(t,e,n,i,r){if(!i)return n;for(var o=t.get("visibleMin"),a=r.length,s=a,l=a-1;l>=0;l--){var u=r["asc"===i?a-l-1:l].getValue();u/n*ei&&(i=a));var l=t.area*t.area,u=e*e*n;return l?jD(u*i/l,l/(u*r)):1/0}function oA(t,e,n,i,r){var o=e===n.width?0:1,a=1-o,s=["x","y"],l=["width","height"],u=n[s[o]],h=e?t.area/e:0;(r||h>n[l[a]])&&(h=n[l[a]]);for(var c=0,p=t.length;ci&&(i=e);var o=i%2?i+2:i+3;r=[];for(var a=0;a0&&(m[0]=-m[0],m[1]=-m[1]);var _=v[0]<0?-1:1;if("start"!==i.__position&&"end"!==i.__position){var b=-Math.atan2(v[1],v[0]);u[0].8?"left":h[0]<-.8?"right":"center",p=h[1]>.8?"top":h[1]<-.8?"bottom":"middle";break;case"start":i.x=-h[0]*f+l[0],i.y=-h[1]*g+l[1],c=h[0]>.8?"right":h[0]<-.8?"left":"center",p=h[1]>.8?"bottom":h[1]<-.8?"top":"middle";break;case"insideStartTop":case"insideStart":case"insideStartBottom":i.x=f*_+l[0],i.y=l[1]+w,c=v[0]<0?"right":"left",i.originX=-f*_,i.originY=-w;break;case"insideMiddleTop":case"insideMiddle":case"insideMiddleBottom":case"middle":i.x=x[0],i.y=x[1]+w,c="center",i.originY=-w;break;case"insideEndTop":case"insideEnd":case"insideEndBottom":i.x=-f*_+u[0],i.y=u[1]+w,c=v[0]>=0?"right":"left",i.originX=f*_,i.originY=-w}i.scaleX=i.scaleY=r,i.setStyle({verticalAlign:i.__verticalAlign||p,align:i.__align||c})}}}function S(t,e){var n=t.__specifiedRotation;if(null==n){var i=a.tangentAt(e);t.attr("rotation",(1===e?-1:1)*Math.PI/2-Math.atan2(i[1],i[0]))}else t.attr("rotation",n)}},e}(Br),YA=function(){function t(t){this.group=new Br,this._LineCtor=t||HA}return t.prototype.updateData=function(t){var e=this;this._progressiveEls=null;var n=this,i=n.group,r=n._lineData;n._lineData=t,r||i.removeAll();var o=XA(t);t.diff(r).add((function(n){e._doAdd(t,n,o)})).update((function(n,i){e._doUpdate(r,t,i,n,o)})).remove((function(t){i.remove(r.getItemGraphicEl(t))})).execute()},t.prototype.updateLayout=function(){var t=this._lineData;t&&t.eachItemGraphicEl((function(e,n){e.updateLayout(t,n)}),this)},t.prototype.incrementalPrepareUpdate=function(t){this._seriesScope=XA(t),this._lineData=null,this.group.removeAll()},t.prototype.incrementalUpdate=function(t,e){function n(t){t.isGroup||function(t){return t.animators&&t.animators.length>0}(t)||(t.incremental=!0,t.ensureState("emphasis").hoverLayer=!0)}this._progressiveEls=[];for(var i=t.start;i=0?i+=u:i-=u:f>=0?i-=u:i+=u}return i}function ek(t,e){var n=[],i=Dn,r=[[],[],[]],o=[[],[]],a=[];e/=2,t.eachEdge((function(t,s){var l=t.getLayout(),u=t.getVisual("fromSymbol"),h=t.getVisual("toSymbol");l.__original||(l.__original=[Tt(l[0]),Tt(l[1])],l[2]&&l.__original.push(Tt(l[2])));var c=l.__original;if(null!=l[2]){if(It(r[0],c[0]),It(r[1],c[2]),It(r[2],c[1]),u&&"none"!==u){var p=SA(t.node1),d=tk(r,c[0],p*e);i(r[0][0],r[1][0],r[2][0],d,n),r[0][0]=n[3],r[1][0]=n[4],i(r[0][1],r[1][1],r[2][1],d,n),r[0][1]=n[3],r[1][1]=n[4]}if(h&&"none"!==h){p=SA(t.node2),d=tk(r,c[1],p*e);i(r[0][0],r[1][0],r[2][0],d,n),r[1][0]=n[1],r[2][0]=n[2],i(r[0][1],r[1][1],r[2][1],d,n),r[1][1]=n[1],r[2][1]=n[2]}It(l[0],r[0]),It(l[1],r[2]),It(l[2],r[1])}else{if(It(o[0],c[0]),It(o[1],c[1]),kt(a,o[1],o[0]),Et(a,a),u&&"none"!==u){p=SA(t.node1);At(o[0],o[0],a,p*e)}if(h&&"none"!==h){p=SA(t.node2);At(o[1],o[1],a,-p*e)}It(l[0],o[0]),It(l[1],o[1])}}))}function nk(t){return"view"===t.type}var ik=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.init=function(t,e){var n=new xS,i=new YA,r=this.group;this._controller=new nT(e.getZr()),this._controllerHost={target:r},r.add(n.group),r.add(i.group),this._symbolDraw=n,this._lineDraw=i,this._firstRender=!0},e.prototype.render=function(t,e,n){var i=this,r=t.coordinateSystem;this._model=t;var o=this._symbolDraw,a=this._lineDraw,s=this.group;if(nk(r)){var l={x:r.x,y:r.y,scaleX:r.scaleX,scaleY:r.scaleY};this._firstRender?s.attr(l):vh(s,l,t)}ek(t.getGraph(),wA(t));var u=t.getData();o.updateData(u);var h=t.getEdgeData();a.updateData(h),this._updateNodeAndLinkScale(),this._updateController(t,e,n),clearTimeout(this._layoutTimeout);var c=t.forceLayout,p=t.get(["force","layoutAnimation"]);c&&this._startForceLayoutIteration(c,p);var d=t.get("layout");u.graph.eachNode((function(e){var n=e.dataIndex,r=e.getGraphicEl(),o=e.getModel();if(r){r.off("drag").off("dragend");var a=o.get("draggable");a&&r.on("drag",(function(o){switch(d){case"force":c.warmUp(),!i._layouting&&i._startForceLayoutIteration(c,p),c.setFixed(n),u.setItemLayout(n,[r.x,r.y]);break;case"circular":u.setItemLayout(n,[r.x,r.y]),e.setLayout({fixed:!0},!0),TA(t,"symbolSize",e,[o.offsetX,o.offsetY]),i.updateLayout(t);break;default:u.setItemLayout(n,[r.x,r.y]),_A(t.getGraph(),t),i.updateLayout(t)}})).on("dragend",(function(){c&&c.setUnfixed(n)})),r.setDraggable(a,!!o.get("cursor")),"adjacency"===o.get(["emphasis","focus"])&&(rl(r).focus=e.getAdjacentDataIndices())}})),u.graph.eachEdge((function(t){var e=t.getGraphicEl(),n=t.getModel().get(["emphasis","focus"]);e&&"adjacency"===n&&(rl(e).focus={edge:[t.dataIndex],node:[t.node1.dataIndex,t.node2.dataIndex]})}));var f="circular"===t.get("layout")&&t.get(["circular","rotateLabel"]),g=u.getLayout("cx"),y=u.getLayout("cy");u.graph.eachNode((function(t){DA(t,f,g,y)})),this._firstRender=!1},e.prototype.dispose=function(){this.remove(),this._controller&&this._controller.dispose(),this._controllerHost=null},e.prototype._startForceLayoutIteration=function(t,e){var n=this;!function i(){t.step((function(t){n.updateLayout(n._model),(n._layouting=!t)&&(e?n._layoutTimeout=setTimeout(i,16):i())}))}()},e.prototype._updateController=function(t,e,n){var i=this,r=this._controller,o=this._controllerHost,a=this.group;r.setPointerChecker((function(e,i,r){var o=a.getBoundingRect();return o.applyTransform(a.transform),o.contain(i,r)&&!hT(e,n,t)})),nk(t.coordinateSystem)?(r.enable(t.get("roam")),o.zoomLimit=t.get("scaleLimit"),o.zoom=t.coordinateSystem.getZoom(),r.off("pan").off("zoom").on("pan",(function(e){aT(o,e.dx,e.dy),n.dispatchAction({seriesId:t.id,type:"graphRoam",dx:e.dx,dy:e.dy})})).on("zoom",(function(e){sT(o,e.scale,e.originX,e.originY),n.dispatchAction({seriesId:t.id,type:"graphRoam",zoom:e.scale,originX:e.originX,originY:e.originY}),i._updateNodeAndLinkScale(),ek(t.getGraph(),wA(t)),i._lineDraw.updateLayout(),n.updateLabelLayout()}))):r.disable()},e.prototype._updateNodeAndLinkScale=function(){var t=this._model,e=t.getData(),n=wA(t);e.eachItemGraphicEl((function(t,e){t&&t.setSymbolScale(n)}))},e.prototype.updateLayout=function(t){ek(t.getGraph(),wA(t)),this._symbolDraw.updateLayout(),this._lineDraw.updateLayout()},e.prototype.remove=function(){clearTimeout(this._layoutTimeout),this._layouting=!1,this._layoutTimeout=null,this._symbolDraw&&this._symbolDraw.remove(),this._lineDraw&&this._lineDraw.remove()},e.type="graph",e}(Og);function rk(t){return"_EC_"+t}var ok=function(){function t(t){this.type="graph",this.nodes=[],this.edges=[],this._nodesMap={},this._edgesMap={},this._directed=t||!1}return t.prototype.isDirected=function(){return this._directed},t.prototype.addNode=function(t,e){t=null==t?""+e:""+t;var n=this._nodesMap;if(!n[rk(t)]){var i=new ak(t,e);return i.hostGraph=this,this.nodes.push(i),n[rk(t)]=i,i}},t.prototype.getNodeByIndex=function(t){var e=this.data.getRawIndex(t);return this.nodes[e]},t.prototype.getNodeById=function(t){return this._nodesMap[rk(t)]},t.prototype.addEdge=function(t,e,n){var i=this._nodesMap,r=this._edgesMap;if(j(t)&&(t=this.nodes[t]),j(e)&&(e=this.nodes[e]),t instanceof ak||(t=i[rk(t)]),e instanceof ak||(e=i[rk(e)]),t&&e){var o=t.id+"-"+e.id,a=new sk(t,e,n);return a.hostGraph=this,this._directed&&(t.outEdges.push(a),e.inEdges.push(a)),t.edges.push(a),t!==e&&e.edges.push(a),this.edges.push(a),r[o]=a,a}},t.prototype.getEdgeByIndex=function(t){var e=this.edgeData.getRawIndex(t);return this.edges[e]},t.prototype.getEdge=function(t,e){t instanceof ak&&(t=t.id),e instanceof ak&&(e=e.id);var n=this._edgesMap;return this._directed?n[t+"-"+e]:n[t+"-"+e]||n[e+"-"+t]},t.prototype.eachNode=function(t,e){for(var n=this.nodes,i=n.length,r=0;r=0&&t.call(e,n[r],r)},t.prototype.eachEdge=function(t,e){for(var n=this.edges,i=n.length,r=0;r=0&&n[r].node1.dataIndex>=0&&n[r].node2.dataIndex>=0&&t.call(e,n[r],r)},t.prototype.breadthFirstTraverse=function(t,e,n,i){if(e instanceof ak||(e=this._nodesMap[rk(e)]),e){for(var r="out"===n?"outEdges":"in"===n?"inEdges":"edges",o=0;o=0&&n.node2.dataIndex>=0}));for(r=0,o=i.length;r=0&&this[t][e].setItemVisual(this.dataIndex,n,i)},getVisual:function(n){return this[t][e].getItemVisual(this.dataIndex,n)},setLayout:function(n,i){this.dataIndex>=0&&this[t][e].setItemLayout(this.dataIndex,n,i)},getLayout:function(){return this[t][e].getItemLayout(this.dataIndex)},getGraphicEl:function(){return this[t][e].getItemGraphicEl(this.dataIndex)},getRawIndex:function(){return this[t][e].getRawIndex(this.dataIndex)}}}function uk(t,e,n,i,r){for(var o=new ok(i),a=0;a "+p)),u++)}var d,f=n.get("coordinateSystem");if("cartesian2d"===f||"polar"===f)d=_x(t,n);else{var g=wd.get(f),y=g&&g.dimensions||[];P(y,"value")<0&&y.concat(["value"]);var v=px(t,{coordDimensions:y,encodeDefine:n.getEncode()}).dimensions;(d=new cx(v,n)).initData(t)}var m=new cx(["value"],n);return m.initData(l,s),r&&r(d,m),ZC({mainData:d,struct:o,structAttr:"graph",datas:{node:d,edge:m},datasAttr:{node:"data",edge:"edgeData"}}),o.update(),o}R(ak,lk("hostGraph","data")),R(sk,lk("hostGraph","edgeData"));var hk=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n.hasSymbolVisual=!0,n}return n(e,t),e.prototype.init=function(e){t.prototype.init.apply(this,arguments);var n=this;function i(){return n._categoriesData}this.legendVisualProvider=new NM(i,i),this.fillDataTextStyle(e.edges||e.links),this._updateCategoriesData()},e.prototype.mergeOption=function(e){t.prototype.mergeOption.apply(this,arguments),this.fillDataTextStyle(e.edges||e.links),this._updateCategoriesData()},e.prototype.mergeDefaultAndTheme=function(e){t.prototype.mergeDefaultAndTheme.apply(this,arguments),Co(e,"edgeLabel",["show"])},e.prototype.getInitialData=function(t,e){var n,i=t.edges||t.links||[],r=t.data||t.nodes||[],o=this;if(r&&i){dA(n=this)&&(n.__curvenessList=[],n.__edgeMap={},fA(n));var a=uk(r,i,this,!0,(function(t,e){t.wrapMethod("getItemModel",(function(t){var e=o._categoriesModels[t.getShallow("category")];return e&&(e.parentModel=t.parentModel,t.parentModel=e),t}));var n=Cc.prototype.getModel;function i(t,e){var i=n.call(this,t,e);return i.resolveParentPath=r,i}function r(t){if(t&&("label"===t[0]||"label"===t[1])){var e=t.slice();return"label"===t[0]?e[0]="edgeLabel":"label"===t[1]&&(e[1]="edgeLabel"),e}return t}e.wrapMethod("getItemModel",(function(t){return t.resolveParentPath=r,t.getModel=i,t}))}));return E(a.edges,(function(t){!function(t,e,n,i){if(dA(n)){var r=gA(t,e,n),o=n.__edgeMap,a=o[yA(r)];o[r]&&!a?o[r].isForward=!0:a&&o[r]&&(a.isForward=!0,o[r].isForward=!1),o[r]=o[r]||[],o[r].push(i)}}(t.node1,t.node2,this,t.dataIndex)}),this),a.data}},e.prototype.getGraph=function(){return this.getData().graph},e.prototype.getEdgeData=function(){return this.getGraph().edgeData},e.prototype.getCategoriesData=function(){return this._categoriesData},e.prototype.formatTooltip=function(t,e,n){if("edge"===n){var i=this.getData(),r=this.getDataParams(t,n),o=i.graph.getEdgeByIndex(t),a=i.getName(o.node1.dataIndex),s=i.getName(o.node2.dataIndex),l=[];return null!=a&&l.push(a),null!=s&&l.push(s),og("nameValue",{name:l.join(" > "),value:r.value,noValue:null==r.value})}return vg({series:this,dataIndex:t,multipleSeries:e})},e.prototype._updateCategoriesData=function(){var t=z(this.option.categories||[],(function(t){return null!=t.value?t:A({value:0},t)})),e=new cx(["value"],this);e.initData(t),this._categoriesData=e,this._categoriesModels=e.mapArray((function(t){return e.getItemModel(t)}))},e.prototype.setZoom=function(t){this.option.zoom=t},e.prototype.setCenter=function(t){this.option.center=t},e.prototype.isAnimationEnabled=function(){return t.prototype.isAnimationEnabled.call(this)&&!("force"===this.get("layout")&&this.get(["force","layoutAnimation"]))},e.type="series.graph",e.dependencies=["grid","polar","geo","singleAxis","calendar"],e.defaultOption={z:2,coordinateSystem:"view",legendHoverLink:!0,layout:null,circular:{rotateLabel:!1},force:{initLayout:null,repulsion:[0,50],gravity:.1,friction:.6,edgeLength:30,layoutAnimation:!0},left:"center",top:"center",symbol:"circle",symbolSize:10,edgeSymbol:["none","none"],edgeSymbolSize:10,edgeLabel:{position:"middle",distance:5},draggable:!1,roam:!1,center:null,zoom:1,nodeScaleRatio:.6,label:{show:!1,formatter:"{b}"},itemStyle:{},lineStyle:{color:"#aaa",width:1,opacity:.5},emphasis:{scale:!0,label:{show:!0}},select:{itemStyle:{borderColor:"#212121"}}},e}(bg),ck={type:"graphRoam",event:"graphRoam",update:"none"};var pk=function(){this.angle=0,this.width=10,this.r=10,this.x=0,this.y=0},dk=function(t){function e(e){var n=t.call(this,e)||this;return n.type="pointer",n}return n(e,t),e.prototype.getDefaultShape=function(){return new pk},e.prototype.buildPath=function(t,e){var n=Math.cos,i=Math.sin,r=e.r,o=e.width,a=e.angle,s=e.x-n(a)*o*(o>=r/3?1:2),l=e.y-i(a)*o*(o>=r/3?1:2);a=e.angle-Math.PI/2,t.moveTo(s,l),t.lineTo(e.x+n(a)*o,e.y+i(a)*o),t.lineTo(e.x+n(e.angle)*r,e.y+i(e.angle)*r),t.lineTo(e.x-n(a)*o,e.y-i(a)*o),t.lineTo(s,l)},e}(ks);function fk(t,e){var n=null==t?"":t+"";return e&&(U(e)?n=e.replace("{value}",n):X(e)&&(n=e(t))),n}var gk=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.render=function(t,e,n){this.group.removeAll();var i=t.get(["axisLine","lineStyle","color"]),r=function(t,e){var n=t.get("center"),i=e.getWidth(),r=e.getHeight(),o=Math.min(i,r);return{cx:$r(n[0],e.getWidth()),cy:$r(n[1],e.getHeight()),r:$r(t.get("radius"),o/2)}}(t,n);this._renderMain(t,e,n,i,r),this._data=t.getData()},e.prototype.dispose=function(){},e.prototype._renderMain=function(t,e,n,i,r){var o=this.group,a=t.get("clockwise"),s=-t.get("startAngle")/180*Math.PI,l=-t.get("endAngle")/180*Math.PI,u=t.getModel("axisLine"),h=u.get("roundCap")?JS:Fu,c=u.get("show"),p=u.getModel("lineStyle"),d=p.get("width"),f=[s,l];us(f,!a);for(var g=(l=f[1])-(s=f[0]),y=s,v=[],m=0;c&&m=t&&(0===e?0:i[e-1][0])Math.PI/2&&(V+=Math.PI):"tangential"===z?V=-M-Math.PI/2:j(z)&&(V=z*Math.PI/180),0===V?c.add(new Xs({style:oc(x,{text:O,x:N,y:E,verticalAlign:h<-.8?"top":h>.8?"bottom":"middle",align:u<-.4?"left":u>.4?"right":"center"},{inheritColor:R}),silent:!0})):c.add(new Xs({style:oc(x,{text:O,x:N,y:E,verticalAlign:"middle",align:"center"},{inheritColor:R}),silent:!0,originX:N,originY:E,rotation:V}))}if(m.get("show")&&k!==_){P=(P=m.get("distance"))?P+l:l;for(var B=0;B<=b;B++){u=Math.cos(M),h=Math.sin(M);var F=new Ku({shape:{x1:u*(f-P)+p,y1:h*(f-P)+d,x2:u*(f-S-P)+p,y2:h*(f-S-P)+d},silent:!0,style:D});"auto"===D.stroke&&F.setStyle({stroke:i((k+B/b)/_)}),c.add(F),M+=T}M-=T}else M+=I}},e.prototype._renderPointer=function(t,e,n,i,r,o,a,s,l){var u=this.group,h=this._data,c=this._progressEls,p=[],d=t.get(["pointer","show"]),f=t.getModel("progress"),g=f.get("show"),y=t.getData(),v=y.mapDimension("value"),m=+t.get("min"),x=+t.get("max"),_=[m,x],b=[o,a];function w(e,n){var i,o=y.getItemModel(e).getModel("pointer"),a=$r(o.get("width"),r.r),s=$r(o.get("length"),r.r),l=t.get(["pointer","icon"]),u=o.get("offsetCenter"),h=$r(u[0],r.r),c=$r(u[1],r.r),p=o.get("keepAspect");return(i=l?Xy(l,h-a/2,c-s,a,s,null,p):new dk({shape:{angle:-Math.PI/2,width:a,r:s,x:h,y:c}})).rotation=-(n+Math.PI/2),i.x=r.cx,i.y=r.cy,i}function S(t,e){var n=f.get("roundCap")?JS:Fu,i=f.get("overlap"),a=i?f.get("width"):l/y.count(),u=i?r.r-a:r.r-(t+1)*a,h=i?r.r:r.r-t*a,c=new n({shape:{startAngle:o,endAngle:e,cx:r.cx,cy:r.cy,clockwise:s,r0:u,r:h}});return i&&(c.z2=x-y.get(v,t)%x),c}(g||d)&&(y.diff(h).add((function(e){var n=y.get(v,e);if(d){var i=w(e,o);mh(i,{rotation:-((isNaN(+n)?b[0]:Kr(n,_,b,!0))+Math.PI/2)},t),u.add(i),y.setItemGraphicEl(e,i)}if(g){var r=S(e,o),a=f.get("clip");mh(r,{shape:{endAngle:Kr(n,_,b,a)}},t),u.add(r),ol(t.seriesIndex,y.dataType,e,r),p[e]=r}})).update((function(e,n){var i=y.get(v,e);if(d){var r=h.getItemGraphicEl(n),a=r?r.rotation:o,s=w(e,a);s.rotation=a,vh(s,{rotation:-((isNaN(+i)?b[0]:Kr(i,_,b,!0))+Math.PI/2)},t),u.add(s),y.setItemGraphicEl(e,s)}if(g){var l=c[n],m=S(e,l?l.shape.endAngle:o),x=f.get("clip");vh(m,{shape:{endAngle:Kr(i,_,b,x)}},t),u.add(m),ol(t.seriesIndex,y.dataType,e,m),p[e]=m}})).execute(),y.each((function(t){var e=y.getItemModel(t),n=e.getModel("emphasis"),r=n.get("focus"),o=n.get("blurScope"),a=n.get("disabled");if(d){var s=y.getItemGraphicEl(t),l=y.getItemVisual(t,"style"),u=l.fill;if(s instanceof Ns){var h=s.style;s.useStyle(A({image:h.image,x:h.x,y:h.y,width:h.width,height:h.height},l))}else s.useStyle(l),"pointer"!==s.type&&s.setColor(u);s.setStyle(e.getModel(["pointer","itemStyle"]).getItemStyle()),"auto"===s.style.fill&&s.setStyle("fill",i(Kr(y.get(v,t),_,[0,1],!0))),s.z2EmphasisLift=0,$l(s,e),Zl(s,r,o,a)}if(g){var c=p[t];c.useStyle(y.getItemVisual(t,"style")),c.setStyle(e.getModel(["progress","itemStyle"]).getItemStyle()),c.z2EmphasisLift=0,$l(c,e),Zl(c,r,o,a)}})),this._progressEls=p)},e.prototype._renderAnchor=function(t,e){var n=t.getModel("anchor");if(n.get("show")){var i=n.get("size"),r=n.get("icon"),o=n.get("offsetCenter"),a=n.get("keepAspect"),s=Xy(r,e.cx-i/2+$r(o[0],e.r),e.cy-i/2+$r(o[1],e.r),i,i,null,a);s.z2=n.get("showAbove")?1:0,s.setStyle(n.getModel("itemStyle").getItemStyle()),this.group.add(s)}},e.prototype._renderTitleAndDetail=function(t,e,n,i,r){var o=this,a=t.getData(),s=a.mapDimension("value"),l=+t.get("min"),u=+t.get("max"),h=new Br,c=[],p=[],d=t.isAnimationEnabled(),f=t.get(["pointer","showAbove"]);a.diff(this._data).add((function(t){c[t]=new Xs({silent:!0}),p[t]=new Xs({silent:!0})})).update((function(t,e){c[t]=o._titleEls[e],p[t]=o._detailEls[e]})).execute(),a.each((function(e){var n=a.getItemModel(e),o=a.get(s,e),g=new Br,y=i(Kr(o,[l,u],[0,1],!0)),v=n.getModel("title");if(v.get("show")){var m=v.get("offsetCenter"),x=r.cx+$r(m[0],r.r),_=r.cy+$r(m[1],r.r);(D=c[e]).attr({z2:f?0:2,style:oc(v,{x:x,y:_,text:a.getName(e),align:"center",verticalAlign:"middle"},{inheritColor:y})}),g.add(D)}var b=n.getModel("detail");if(b.get("show")){var w=b.get("offsetCenter"),S=r.cx+$r(w[0],r.r),M=r.cy+$r(w[1],r.r),I=$r(b.get("width"),r.r),T=$r(b.get("height"),r.r),C=t.get(["progress","show"])?a.getItemVisual(e,"style").fill:y,D=p[e],A=b.get("formatter");D.attr({z2:f?0:2,style:oc(b,{x:S,y:M,text:fk(o,A),width:isNaN(I)?null:I,height:isNaN(T)?null:T,align:"center",verticalAlign:"middle"},{inheritColor:C})}),dc(D,{normal:b},o,(function(t){return fk(t,A)})),d&&fc(D,e,a,t,{getFormattedLabel:function(t,e,n,i,r,a){return fk(a?a.interpolatedValue:o,A)}}),g.add(D)}h.add(g)})),this.group.add(h),this._titleEls=c,this._detailEls=p},e.type="gauge",e}(Og),yk=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n.visualStyleAccessPath="itemStyle",n}return n(e,t),e.prototype.getInitialData=function(t,e){return RM(this,["value"])},e.type="series.gauge",e.defaultOption={z:2,colorBy:"data",center:["50%","50%"],legendHoverLink:!0,radius:"75%",startAngle:225,endAngle:-45,clockwise:!0,min:0,max:100,splitNumber:10,axisLine:{show:!0,roundCap:!1,lineStyle:{color:[[1,"#E6EBF8"]],width:10}},progress:{show:!1,overlap:!0,width:10,roundCap:!1,clip:!0},splitLine:{show:!0,length:10,distance:10,lineStyle:{color:"#63677A",width:3,type:"solid"}},axisTick:{show:!0,splitNumber:5,length:6,distance:10,lineStyle:{color:"#63677A",width:1,type:"solid"}},axisLabel:{show:!0,distance:15,color:"#464646",fontSize:12,rotate:0},pointer:{icon:null,offsetCenter:[0,0],show:!0,showAbove:!0,length:"60%",width:6,keepAspect:!1},anchor:{show:!1,showAbove:!1,size:6,icon:"circle",offsetCenter:[0,0],keepAspect:!1,itemStyle:{color:"#fff",borderWidth:0,borderColor:"#5470c6"}},title:{show:!0,offsetCenter:[0,"20%"],color:"#464646",fontSize:16,valueAnimation:!1},detail:{show:!0,backgroundColor:"rgba(0,0,0,0)",borderWidth:0,borderColor:"#ccc",width:100,height:null,padding:[5,10],offsetCenter:[0,"40%"],color:"#464646",fontSize:30,fontWeight:"bold",lineHeight:30,valueAnimation:!1}},e}(bg);var vk=["itemStyle","opacity"],mk=function(t){function e(e,n){var i=t.call(this)||this,r=i,o=new Zu,a=new Xs;return r.setTextContent(a),i.setTextGuideLine(o),i.updateData(e,n,!0),i}return n(e,t),e.prototype.updateData=function(t,e,n){var i=this,r=t.hostModel,o=t.getItemModel(e),a=t.getItemLayout(e),s=o.getModel("emphasis"),l=o.get(vk);l=null==l?1:l,n||Sh(i),i.useStyle(t.getItemVisual(e,"style")),i.style.lineJoin="round",n?(i.setShape({points:a.points}),i.style.opacity=0,mh(i,{style:{opacity:l}},r,e)):vh(i,{style:{opacity:l},shape:{points:a.points}},r,e),$l(i,o),this._updateLabel(t,e),Zl(this,s.get("focus"),s.get("blurScope"),s.get("disabled"))},e.prototype._updateLabel=function(t,e){var n=this,i=this.getTextGuideLine(),r=n.getTextContent(),o=t.hostModel,a=t.getItemModel(e),s=t.getItemLayout(e).label,l=t.getItemVisual(e,"style"),u=l.fill;ic(r,rc(a),{labelFetcher:t.hostModel,labelDataIndex:e,defaultOpacity:l.opacity,defaultText:t.getName(e)},{normal:{align:s.textAlign,verticalAlign:s.verticalAlign}}),n.setTextConfig({local:!0,inside:!!s.inside,insideStroke:u,outsideFill:u});var h=s.linePoints;i.setShape({points:h}),n.textGuideLineConfig={anchor:h?new De(h[0][0],h[0][1]):null},vh(r,{style:{x:s.x,y:s.y}},o,e),r.attr({rotation:s.rotation,originX:s.x,originY:s.y,z2:10}),kb(n,Lb(a),{stroke:u})},e}(Xu),xk=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n.ignoreLabelLineUpdate=!0,n}return n(e,t),e.prototype.render=function(t,e,n){var i=t.getData(),r=this._data,o=this.group;i.diff(r).add((function(t){var e=new mk(i,t);i.setItemGraphicEl(t,e),o.add(e)})).update((function(t,e){var n=r.getItemGraphicEl(e);n.updateData(i,t),o.add(n),i.setItemGraphicEl(t,n)})).remove((function(e){wh(r.getItemGraphicEl(e),t,e)})).execute(),this._data=i},e.prototype.remove=function(){this.group.removeAll(),this._data=null},e.prototype.dispose=function(){},e.type="funnel",e}(Og),_k=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.init=function(e){t.prototype.init.apply(this,arguments),this.legendVisualProvider=new NM(W(this.getData,this),W(this.getRawData,this)),this._defaultLabelLine(e)},e.prototype.getInitialData=function(t,e){return RM(this,{coordDimensions:["value"],encodeDefaulter:H(ed,this)})},e.prototype._defaultLabelLine=function(t){Co(t,"labelLine",["show"]);var e=t.labelLine,n=t.emphasis.labelLine;e.show=e.show&&t.label.show,n.show=n.show&&t.emphasis.label.show},e.prototype.getDataParams=function(e){var n=this.getData(),i=t.prototype.getDataParams.call(this,e),r=n.mapDimension("value"),o=n.getSum(r);return i.percent=o?+(n.get(r,e)/o*100).toFixed(2):0,i.$vars.push("percent"),i},e.type="series.funnel",e.defaultOption={z:2,legendHoverLink:!0,colorBy:"data",left:80,top:60,right:80,bottom:60,minSize:"0%",maxSize:"100%",sort:"descending",orient:"vertical",gap:0,funnelAlign:"center",label:{show:!0,position:"outer"},labelLine:{show:!0,length:20,lineStyle:{width:1}},itemStyle:{borderColor:"#fff",borderWidth:1},emphasis:{label:{show:!0}},select:{itemStyle:{borderColor:"#212121"}}},e}(bg);function bk(t,e){t.eachSeriesByType("funnel",(function(t){var n=t.getData(),i=n.mapDimension("value"),r=t.get("sort"),o=function(t,e){return kp(t.getBoxLayoutParams(),{width:e.getWidth(),height:e.getHeight()})}(t,e),a=t.get("orient"),s=o.width,l=o.height,u=function(t,e){for(var n=t.mapDimension("value"),i=t.mapArray(n,(function(t){return t})),r=[],o="ascending"===e,a=0,s=t.count();a5)return;var i=this._model.coordinateSystem.getSlidedAxisExpandWindow([t.offsetX,t.offsetY]);"none"!==i.behavior&&this._dispatchExpand({axisExpandWindow:i.axisExpandWindow})}this._mouseDownPoint=null},mousemove:function(t){if(!this._mouseDownPoint&&Rk(this,"mousemove")){var e=this._model,n=e.coordinateSystem.getSlidedAxisExpandWindow([t.offsetX,t.offsetY]),i=n.behavior;"jump"===i&&this._throttledDispatchExpand.debounceNextCall(e.get("axisExpandDebounce")),this._throttledDispatchExpand("none"===i?null:{axisExpandWindow:n.axisExpandWindow,animation:"jump"===i?null:{duration:0}})}}};function Rk(t,e){var n=t._model;return n.get("axisExpandable")&&n.get("axisExpandTriggerOn")===e}var Nk=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.init=function(){t.prototype.init.apply(this,arguments),this.mergeOption({})},e.prototype.mergeOption=function(t){var e=this.option;t&&C(e,t,!0),this._initDimensions()},e.prototype.contains=function(t,e){var n=t.get("parallelIndex");return null!=n&&e.getComponent("parallel",n)===this},e.prototype.setAxisExpand=function(t){E(["axisExpandable","axisExpandCenter","axisExpandCount","axisExpandWidth","axisExpandWindow"],(function(e){t.hasOwnProperty(e)&&(this.option[e]=t[e])}),this)},e.prototype._initDimensions=function(){var t=this.dimensions=[],e=this.parallelAxisIndex=[];E(B(this.ecModel.queryComponents({mainType:"parallelAxis"}),(function(t){return(t.get("parallelIndex")||0)===this.componentIndex}),this),(function(n){t.push("dim"+n.get("dim")),e.push(n.componentIndex)}))},e.type="parallel",e.dependencies=["parallelAxis"],e.layoutMode="box",e.defaultOption={z:0,left:80,top:60,right:80,bottom:60,layout:"horizontal",axisExpandable:!1,axisExpandCenter:null,axisExpandCount:0,axisExpandWidth:50,axisExpandRate:17,axisExpandDebounce:50,axisExpandSlideTriggerArea:[-.15,.05,.4],axisExpandTriggerOn:"click",parallelAxisDefault:null},e}(zp),Ek=function(t){function e(e,n,i,r,o){var a=t.call(this,e,n,i)||this;return a.type=r||"value",a.axisIndex=o,a}return n(e,t),e.prototype.isHorizontal=function(){return"horizontal"!==this.coordinateSystem.getModel().get("layout")},e}(ab);function zk(t,e,n,i,r,o){t=t||0;var a=n[1]-n[0];if(null!=r&&(r=Bk(r,[0,a])),null!=o&&(o=Math.max(o,null!=r?r:0)),"all"===i){var s=Math.abs(e[1]-e[0]);s=Bk(s,[0,a]),r=o=Bk(s,[r,o]),i=0}e[0]=Bk(e[0],n),e[1]=Bk(e[1],n);var l=Vk(e,i);e[i]+=t;var u,h=r||0,c=n.slice();return l.sign<0?c[0]+=h:c[1]-=h,e[i]=Bk(e[i],c),u=Vk(e,i),null!=r&&(u.sign!==l.sign||u.spano&&(e[1-i]=e[i]+u.sign*o),e}function Vk(t,e){var n=t[e]-t[1-e];return{span:Math.abs(n),sign:n>0?-1:n<0?1:e?-1:1}}function Bk(t,e){return Math.min(null!=e[1]?e[1]:1/0,Math.max(null!=e[0]?e[0]:-1/0,t))}var Fk=E,Gk=Math.min,Wk=Math.max,Hk=Math.floor,Yk=Math.ceil,Xk=Jr,Uk=Math.PI,Zk=function(){function t(t,e,n){this.type="parallel",this._axesMap=yt(),this._axesLayout={},this.dimensions=t.dimensions,this._model=t,this._init(t,e,n)}return t.prototype._init=function(t,e,n){var i=t.dimensions,r=t.parallelAxisIndex;Fk(i,(function(t,n){var i=r[n],o=e.getComponent("parallelAxis",i),a=this._axesMap.set(t,new Ek(t,b_(o),[0,0],o.get("type"),i)),s="category"===a.type;a.onBand=s&&o.get("boundaryGap"),a.inverse=o.get("inverse"),o.axis=a,a.model=o,a.coordinateSystem=o.coordinateSystem=this}),this)},t.prototype.update=function(t,e){this._updateAxesFromSeries(this._model,t)},t.prototype.containPoint=function(t){var e=this._makeLayoutInfo(),n=e.axisBase,i=e.layoutBase,r=e.pixelDimIndex,o=t[1-r],a=t[r];return o>=n&&o<=n+e.axisLength&&a>=i&&a<=i+e.layoutLength},t.prototype.getModel=function(){return this._model},t.prototype._updateAxesFromSeries=function(t,e){e.eachSeries((function(n){if(t.contains(n,e)){var i=n.getData();Fk(this.dimensions,(function(t){var e=this._axesMap.get(t);e.scale.unionExtentFromData(i,i.mapDimension(t)),__(e.scale,e.model)}),this)}}),this)},t.prototype.resize=function(t,e){this._rect=kp(t.getBoxLayoutParams(),{width:e.getWidth(),height:e.getHeight()}),this._layoutAxes()},t.prototype.getRect=function(){return this._rect},t.prototype._makeLayoutInfo=function(){var t,e=this._model,n=this._rect,i=["x","y"],r=["width","height"],o=e.get("layout"),a="horizontal"===o?0:1,s=n[r[a]],l=[0,s],u=this.dimensions.length,h=jk(e.get("axisExpandWidth"),l),c=jk(e.get("axisExpandCount")||0,[0,u]),p=e.get("axisExpandable")&&u>3&&u>c&&c>1&&h>0&&s>0,d=e.get("axisExpandWindow");d?(t=jk(d[1]-d[0],l),d[1]=d[0]+t):(t=jk(h*(c-1),l),(d=[h*(e.get("axisExpandCenter")||Hk(u/2))-t/2])[1]=d[0]+t);var f=(s-t)/(u-c);f<3&&(f=0);var g=[Hk(Xk(d[0]/h,1))+1,Yk(Xk(d[1]/h,1))-1],y=f/h*d[0];return{layout:o,pixelDimIndex:a,layoutBase:n[i[a]],layoutLength:s,axisBase:n[i[1-a]],axisLength:n[r[1-a]],axisExpandable:p,axisExpandWidth:h,axisCollapseWidth:f,axisExpandWindow:d,axisCount:u,winInnerIndices:g,axisExpandWindow0Pos:y}},t.prototype._layoutAxes=function(){var t=this._rect,e=this._axesMap,n=this.dimensions,i=this._makeLayoutInfo(),r=i.layout;e.each((function(t){var e=[0,i.axisLength],n=t.inverse?1:0;t.setExtent(e[n],e[1-n])})),Fk(n,(function(e,n){var o=(i.axisExpandable?Kk:qk)(n,i),a={horizontal:{x:o.position,y:i.axisLength},vertical:{x:0,y:o.position}},s={horizontal:Uk/2,vertical:0},l=[a[r].x+t.x,a[r].y+t.y],u=s[r],h=[1,0,0,1,0,0];Se(h,h,u),we(h,h,l),this._axesLayout[e]={position:l,rotation:u,transform:h,axisNameAvailableWidth:o.axisNameAvailableWidth,axisLabelShow:o.axisLabelShow,nameTruncateMaxWidth:o.nameTruncateMaxWidth,tickDirection:1,labelDirection:1}}),this)},t.prototype.getAxis=function(t){return this._axesMap.get(t)},t.prototype.dataToPoint=function(t,e){return this.axisCoordToPoint(this._axesMap.get(e).dataToCoord(t),e)},t.prototype.eachActiveState=function(t,e,n,i){null==n&&(n=0),null==i&&(i=t.count());var r=this._axesMap,o=this.dimensions,a=[],s=[];E(o,(function(e){a.push(t.mapDimension(e)),s.push(r.get(e).model)}));for(var l=this.hasAxisBrushed(),u=n;ur*(1-h[0])?(l="jump",a=s-r*(1-h[2])):(a=s-r*h[1])>=0&&(a=s-r*(1-h[1]))<=0&&(a=0),(a*=e.axisExpandWidth/u)?zk(a,i,o,"all"):l="none";else{var p=i[1]-i[0];(i=[Wk(0,o[1]*s/p-p/2)])[1]=Gk(o[1],i[0]+p),i[0]=i[1]-p}return{axisExpandWindow:i,behavior:l}},t}();function jk(t,e){return Gk(Wk(t,e[0]),e[1])}function qk(t,e){var n=e.layoutLength/(e.axisCount-1);return{position:n*t,axisNameAvailableWidth:n,axisLabelShow:!0}}function Kk(t,e){var n,i,r=e.layoutLength,o=e.axisExpandWidth,a=e.axisCount,s=e.axisCollapseWidth,l=e.winInnerIndices,u=s,h=!1;return t=0;n--)Qr(e[n])},e.prototype.getActiveState=function(t){var e=this.activeIntervals;if(!e.length)return"normal";if(null==t||isNaN(+t))return"inactive";if(1===e.length){var n=e[0];if(n[0]<=t&&t<=n[1])return"active"}else for(var i=0,r=e.length;i6}(t)||o){if(a&&!o){"single"===s.brushMode&&vL(t);var l=T(s);l.brushType=RL(l.brushType,a),l.panelId=a===Qk?null:a.panelId,o=t._creatingCover=uL(t,l),t._covers.push(o)}if(o){var u=zL[RL(t._brushType,a)];o.__brushOption.range=u.getCreatingRange(kL(t,o,t._track)),i&&(hL(t,o),u.updateCommon(t,o)),cL(t,o),r={isEnd:i}}}else i&&"single"===s.brushMode&&s.removeOnClick&&gL(t,e,n)&&vL(t)&&(r={isEnd:i,removeOnClick:!0});return r}function RL(t,e){return"auto"===t?e.defaultBrushType:t}var NL={mousedown:function(t){if(this._dragging)EL(this,t);else if(!t.target||!t.target.draggable){LL(t);var e=this.group.transformCoordToLocal(t.offsetX,t.offsetY);this._creatingCover=null,(this._creatingPanel=gL(this,t,e))&&(this._dragging=!0,this._track=[e.slice()])}},mousemove:function(t){var e=t.offsetX,n=t.offsetY,i=this.group.transformCoordToLocal(e,n);if(function(t,e,n){if(t._brushType&&!function(t,e,n){var i=t._zr;return e<0||e>i.getWidth()||n<0||n>i.getHeight()}(t,e.offsetX,e.offsetY)){var i=t._zr,r=t._covers,o=gL(t,e,n);if(!t._dragging)for(var a=0;a=0&&(o[r[a].depth]=new Cc(r[a],this,e));if(i&&n){var s=uk(i,n,this,!0,(function(t,e){t.wrapMethod("getItemModel",(function(t,e){var n=t.parentModel,i=n.getData().getItemLayout(e);if(i){var r=i.depth,o=n.levelModels[r];o&&(t.parentModel=o)}return t})),e.wrapMethod("getItemModel",(function(t,e){var n=t.parentModel,i=n.getGraph().getEdgeByIndex(e).node1.getLayout();if(i){var r=i.depth,o=n.levelModels[r];o&&(t.parentModel=o)}return t}))}));return s.data}},e.prototype.setNodePosition=function(t,e){var n=(this.option.data||this.option.nodes)[t];n.localX=e[0],n.localY=e[1]},e.prototype.getGraph=function(){return this.getData().graph},e.prototype.getEdgeData=function(){return this.getGraph().edgeData},e.prototype.formatTooltip=function(t,e,n){function i(t){return isNaN(t)||null==t}if("edge"===n){var r=this.getDataParams(t,n),o=r.data,a=r.value;return og("nameValue",{name:o.source+" -- "+o.target,value:a,noValue:i(a)})}var s=this.getGraph().getNodeByIndex(t).getLayout().value,l=this.getDataParams(t,n).data.name;return og("nameValue",{name:null!=l?l+"":null,value:s,noValue:i(s)})},e.prototype.optionUpdated=function(){},e.prototype.getDataParams=function(e,n){var i=t.prototype.getDataParams.call(this,e,n);if(null==i.value&&"node"===n){var r=this.getGraph().getNodeByIndex(e).getLayout().value;i.value=r}return i},e.type="series.sankey",e.defaultOption={z:2,coordinateSystem:"view",left:"5%",top:"5%",right:"20%",bottom:"5%",orient:"horizontal",nodeWidth:20,nodeGap:8,draggable:!0,layoutIterations:32,label:{show:!0,position:"right",fontSize:12},edgeLabel:{show:!1,fontSize:12},levels:[],nodeAlign:"justify",lineStyle:{color:"#314656",opacity:.2,curveness:.5},emphasis:{label:{show:!0},lineStyle:{opacity:.5}},select:{itemStyle:{borderColor:"#212121"}},animationEasing:"linear",animationDuration:1e3},e}(bg);function QL(t,e){t.eachSeriesByType("sankey",(function(t){var n=t.get("nodeWidth"),i=t.get("nodeGap"),r=function(t,e){return kp(t.getBoxLayoutParams(),{width:e.getWidth(),height:e.getHeight()})}(t,e);t.layoutInfo=r;var o=r.width,a=r.height,s=t.getGraph(),l=s.nodes,u=s.edges;!function(t){E(t,(function(t){var e=uP(t.outEdges,lP),n=uP(t.inEdges,lP),i=t.getValue()||0,r=Math.max(e,n,i);t.setLayout({value:r},!0)}))}(l),function(t,e,n,i,r,o,a,s,l){(function(t,e,n,i,r,o,a){for(var s=[],l=[],u=[],h=[],c=0,p=0;p=0;v&&y.depth>d&&(d=y.depth),g.setLayout({depth:v?y.depth:c},!0),"vertical"===o?g.setLayout({dy:n},!0):g.setLayout({dx:n},!0);for(var m=0;mc-1?d:c-1;a&&"left"!==a&&function(t,e,n,i){if("right"===e){for(var r=[],o=t,a=0;o.length;){for(var s=0;s0;o--)nP(s,l*=.99,a),eP(s,r,n,i,a),hP(s,l,a),eP(s,r,n,i,a)}(t,e,o,r,i,a,s),function(t,e){var n="vertical"===e?"x":"y";E(t,(function(t){t.outEdges.sort((function(t,e){return t.node2.getLayout()[n]-e.node2.getLayout()[n]})),t.inEdges.sort((function(t,e){return t.node1.getLayout()[n]-e.node1.getLayout()[n]}))})),E(t,(function(t){var e=0,n=0;E(t.outEdges,(function(t){t.setLayout({sy:e},!0),e+=t.getLayout().dy})),E(t.inEdges,(function(t){t.setLayout({ty:n},!0),n+=t.getLayout().dy}))}))}(t,s)}(l,u,n,i,o,a,0!==B(l,(function(t){return 0===t.getLayout().value})).length?0:t.get("layoutIterations"),t.get("orient"),t.get("nodeAlign"))}))}function tP(t){var e=t.hostGraph.data.getRawDataItem(t.dataIndex);return null!=e.depth&&e.depth>=0}function eP(t,e,n,i,r){var o="vertical"===r?"x":"y";E(t,(function(t){var a,s,l;t.sort((function(t,e){return t.getLayout()[o]-e.getLayout()[o]}));for(var u=0,h=t.length,c="vertical"===r?"dx":"dy",p=0;p0&&(a=s.getLayout()[o]+l,"vertical"===r?s.setLayout({x:a},!0):s.setLayout({y:a},!0)),u=s.getLayout()[o]+s.getLayout()[c]+e;if((l=u-e-("vertical"===r?i:n))>0){a=s.getLayout()[o]-l,"vertical"===r?s.setLayout({x:a},!0):s.setLayout({y:a},!0),u=a;for(p=h-2;p>=0;--p)(l=(s=t[p]).getLayout()[o]+s.getLayout()[c]+e-u)>0&&(a=s.getLayout()[o]-l,"vertical"===r?s.setLayout({x:a},!0):s.setLayout({y:a},!0)),u=s.getLayout()[o]}}))}function nP(t,e,n){E(t.slice().reverse(),(function(t){E(t,(function(t){if(t.outEdges.length){var i=uP(t.outEdges,iP,n)/uP(t.outEdges,lP);if(isNaN(i)){var r=t.outEdges.length;i=r?uP(t.outEdges,rP,n)/r:0}if("vertical"===n){var o=t.getLayout().x+(i-sP(t,n))*e;t.setLayout({x:o},!0)}else{var a=t.getLayout().y+(i-sP(t,n))*e;t.setLayout({y:a},!0)}}}))}))}function iP(t,e){return sP(t.node2,e)*t.getValue()}function rP(t,e){return sP(t.node2,e)}function oP(t,e){return sP(t.node1,e)*t.getValue()}function aP(t,e){return sP(t.node1,e)}function sP(t,e){return"vertical"===e?t.getLayout().x+t.getLayout().dx/2:t.getLayout().y+t.getLayout().dy/2}function lP(t){return t.getValue()}function uP(t,e,n){for(var i=0,r=t.length,o=-1;++oo&&(o=e)})),E(n,(function(e){var n=new kD({type:"color",mappingMethod:"linear",dataExtent:[r,o],visual:t.get("color")}).mapValueToVisual(e.getLayout().value),i=e.getModel().get(["itemStyle","color"]);null!=i?(e.setVisual("color",i),e.setVisual("style",{fill:i})):(e.setVisual("color",n),e.setVisual("style",{fill:n}))}))}i.length&&E(i,(function(t){var e=t.getModel().get("lineStyle");t.setVisual("style",e)}))}))}var pP=function(){function t(){}return t.prototype.getInitialData=function(t,e){var n,i,r=e.getComponent("xAxis",this.get("xAxisIndex")),o=e.getComponent("yAxis",this.get("yAxisIndex")),a=r.get("type"),s=o.get("type");"category"===a?(t.layout="horizontal",n=r.getOrdinalMeta(),i=!0):"category"===s?(t.layout="vertical",n=o.getOrdinalMeta(),i=!0):t.layout=t.layout||"horizontal";var l=["x","y"],u="horizontal"===t.layout?0:1,h=this._baseAxisDim=l[u],c=l[1-u],p=[r,o],d=p[u].get("type"),f=p[1-u].get("type"),g=t.data;if(g&&i){var y=[];E(g,(function(t,e){var n;Y(t)?(n=t.slice(),t.unshift(e)):Y(t.value)?((n=A({},t)).value=n.value.slice(),t.value.unshift(e)):n=t,y.push(n)})),t.data=y}var v=this.defaultValueDimensions,m=[{name:h,type:Ym(d),ordinalMeta:n,otherDims:{tooltip:!1,itemName:0},dimsDef:["base"]},{name:c,type:Ym(f),dimsDef:v.slice()}];return RM(this,{coordDimensions:m,dimensionsCount:v.length+1,encodeDefaulter:H(td,m,this)})},t.prototype.getBaseAxis=function(){var t=this._baseAxisDim;return this.ecModel.getComponent(t+"Axis",this.get(t+"AxisIndex")).axis},t}(),dP=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n.defaultValueDimensions=[{name:"min",defaultTooltip:!0},{name:"Q1",defaultTooltip:!0},{name:"median",defaultTooltip:!0},{name:"Q3",defaultTooltip:!0},{name:"max",defaultTooltip:!0}],n.visualDrawType="stroke",n}return n(e,t),e.type="series.boxplot",e.dependencies=["xAxis","yAxis","grid"],e.defaultOption={z:2,coordinateSystem:"cartesian2d",legendHoverLink:!0,layout:null,boxWidth:[7,50],itemStyle:{color:"#fff",borderWidth:1},emphasis:{scale:!0,itemStyle:{borderWidth:2,shadowBlur:5,shadowOffsetX:1,shadowOffsetY:1,shadowColor:"rgba(0,0,0,0.2)"}},animationDuration:800},e}(bg);R(dP,pP,!0);var fP=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.render=function(t,e,n){var i=t.getData(),r=this.group,o=this._data;this._data||r.removeAll();var a="horizontal"===t.get("layout")?1:0;i.diff(o).add((function(t){if(i.hasValue(t)){var e=vP(i.getItemLayout(t),i,t,a,!0);i.setItemGraphicEl(t,e),r.add(e)}})).update((function(t,e){var n=o.getItemGraphicEl(e);if(i.hasValue(t)){var s=i.getItemLayout(t);n?(Sh(n),mP(s,n,i,t)):n=vP(s,i,t,a),r.add(n),i.setItemGraphicEl(t,n)}else r.remove(n)})).remove((function(t){var e=o.getItemGraphicEl(t);e&&r.remove(e)})).execute(),this._data=i},e.prototype.remove=function(t){var e=this.group,n=this._data;this._data=null,n&&n.eachItemGraphicEl((function(t){t&&e.remove(t)}))},e.type="boxplot",e}(Og),gP=function(){},yP=function(t){function e(e){var n=t.call(this,e)||this;return n.type="boxplotBoxPath",n}return n(e,t),e.prototype.getDefaultShape=function(){return new gP},e.prototype.buildPath=function(t,e){var n=e.points,i=0;for(t.moveTo(n[i][0],n[i][1]),i++;i<4;i++)t.lineTo(n[i][0],n[i][1]);for(t.closePath();ig){var _=[v,x];i.push(_)}}}return{boxData:n,outliers:i}}(e.getRawData(),t.config);return[{dimensions:["ItemName","Low","Q1","Q2","Q3","High"],data:i.boxData},{data:i.outliers}]}};var SP=["color","borderColor"],MP=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.render=function(t,e,n){this.group.removeClipPath(),this._progressiveEls=null,this._updateDrawMode(t),this._isLargeDraw?this._renderLarge(t):this._renderNormal(t)},e.prototype.incrementalPrepareRender=function(t,e,n){this._clear(),this._updateDrawMode(t)},e.prototype.incrementalRender=function(t,e,n,i){this._progressiveEls=[],this._isLargeDraw?this._incrementalRenderLarge(t,e):this._incrementalRenderNormal(t,e)},e.prototype.eachRendered=function(t){Jh(this._progressiveEls||this.group,t)},e.prototype._updateDrawMode=function(t){var e=t.pipelineContext.large;null!=this._isLargeDraw&&e===this._isLargeDraw||(this._isLargeDraw=e,this._clear())},e.prototype._renderNormal=function(t){var e=t.getData(),n=this._data,i=this.group,r=e.getLayout("isSimpleBox"),o=t.get("clip",!0),a=t.coordinateSystem,s=a.getArea&&a.getArea();this._data||i.removeAll(),e.diff(n).add((function(n){if(e.hasValue(n)){var a=e.getItemLayout(n);if(o&&DP(s,a))return;var l=CP(a,n,!0);mh(l,{shape:{points:a.ends}},t,n),AP(l,e,n,r),i.add(l),e.setItemGraphicEl(n,l)}})).update((function(a,l){var u=n.getItemGraphicEl(l);if(e.hasValue(a)){var h=e.getItemLayout(a);o&&DP(s,h)?i.remove(u):(u?(vh(u,{shape:{points:h.ends}},t,a),Sh(u)):u=CP(h),AP(u,e,a,r),i.add(u),e.setItemGraphicEl(a,u))}else i.remove(u)})).remove((function(t){var e=n.getItemGraphicEl(t);e&&i.remove(e)})).execute(),this._data=e},e.prototype._renderLarge=function(t){this._clear(),OP(t,this.group);var e=t.get("clip",!0)?PS(t.coordinateSystem,!1,t):null;e?this.group.setClipPath(e):this.group.removeClipPath()},e.prototype._incrementalRenderNormal=function(t,e){for(var n,i=e.getData(),r=i.getLayout("isSimpleBox");null!=(n=t.next());){var o=CP(i.getItemLayout(n));AP(o,i,n,r),o.incremental=!0,this.group.add(o),this._progressiveEls.push(o)}},e.prototype._incrementalRenderLarge=function(t,e){OP(e,this.group,this._progressiveEls,!0)},e.prototype.remove=function(t){this._clear()},e.prototype._clear=function(){this.group.removeAll(),this._data=null},e.type="candlestick",e}(Og),IP=function(){},TP=function(t){function e(e){var n=t.call(this,e)||this;return n.type="normalCandlestickBox",n}return n(e,t),e.prototype.getDefaultShape=function(){return new IP},e.prototype.buildPath=function(t,e){var n=e.points;this.__simpleBox?(t.moveTo(n[4][0],n[4][1]),t.lineTo(n[6][0],n[6][1])):(t.moveTo(n[0][0],n[0][1]),t.lineTo(n[1][0],n[1][1]),t.lineTo(n[2][0],n[2][1]),t.lineTo(n[3][0],n[3][1]),t.closePath(),t.moveTo(n[4][0],n[4][1]),t.lineTo(n[5][0],n[5][1]),t.moveTo(n[6][0],n[6][1]),t.lineTo(n[7][0],n[7][1]))},e}(ks);function CP(t,e,n){var i=t.ends;return new TP({shape:{points:n?kP(i,t):i},z2:100})}function DP(t,e){for(var n=!0,i=0;i0?"borderColor":"borderColor0"])||n.get(["itemStyle",t>0?"color":"color0"]);0===t&&(r=n.get(["itemStyle","borderColorDoji"]));var o=n.getModel("itemStyle").getItemStyle(SP);e.useStyle(o),e.style.fill=null,e.style.stroke=r}var NP=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n.defaultValueDimensions=[{name:"open",defaultTooltip:!0},{name:"close",defaultTooltip:!0},{name:"lowest",defaultTooltip:!0},{name:"highest",defaultTooltip:!0}],n}return n(e,t),e.prototype.getShadowDim=function(){return"open"},e.prototype.brushSelector=function(t,e,n){var i=e.getItemLayout(t);return i&&n.rect(i.brushRect)},e.type="series.candlestick",e.dependencies=["xAxis","yAxis","grid"],e.defaultOption={z:2,coordinateSystem:"cartesian2d",legendHoverLink:!0,layout:null,clip:!0,itemStyle:{color:"#eb5454",color0:"#47b262",borderColor:"#eb5454",borderColor0:"#47b262",borderColorDoji:null,borderWidth:1},emphasis:{scale:!0,itemStyle:{borderWidth:2}},barMaxWidth:null,barMinWidth:null,barWidth:null,large:!0,largeThreshold:600,progressive:3e3,progressiveThreshold:1e4,progressiveChunkMode:"mod",animationEasing:"linear",animationDuration:300},e}(bg);function EP(t){t&&Y(t.series)&&E(t.series,(function(t){q(t)&&"k"===t.type&&(t.type="candlestick")}))}R(NP,pP,!0);var zP=["itemStyle","borderColor"],VP=["itemStyle","borderColor0"],BP=["itemStyle","borderColorDoji"],FP=["itemStyle","color"],GP=["itemStyle","color0"],WP={seriesType:"candlestick",plan:kg(),performRawSeries:!0,reset:function(t,e){function n(t,e){return e.get(t>0?FP:GP)}function i(t,e){return e.get(0===t?BP:t>0?zP:VP)}if(!e.isSeriesFiltered(t))return!t.pipelineContext.large&&{progress:function(t,e){for(var r;null!=(r=t.next());){var o=e.getItemModel(r),a=e.getItemLayout(r).sign,s=o.getItemStyle();s.fill=n(a,o),s.stroke=i(a,o)||s.fill,A(e.ensureUniqueItemVisual(r,"style"),s)}}}}},HP={seriesType:"candlestick",plan:kg(),reset:function(t){var e=t.coordinateSystem,n=t.getData(),i=function(t,e){var n,i=t.getBaseAxis(),r="category"===i.type?i.getBandWidth():(n=i.getExtent(),Math.abs(n[1]-n[0])/e.count()),o=$r(rt(t.get("barMaxWidth"),r),r),a=$r(rt(t.get("barMinWidth"),1),r),s=t.get("barWidth");return null!=s?$r(s,r):Math.max(Math.min(r/2,o),a)}(t,n),r=["x","y"],o=n.getDimensionIndex(n.mapDimension(r[0])),a=z(n.mapDimensionsAll(r[1]),n.getDimensionIndex,n),s=a[0],l=a[1],u=a[2],h=a[3];if(n.setLayout({candleWidth:i,isSimpleBox:i<=1.3}),!(o<0||a.length<4))return{progress:t.pipelineContext.large?function(n,i){var r,a,c=Bx(4*n.count),p=0,d=[],f=[],g=i.getStore(),y=!!t.get(["itemStyle","borderColorDoji"]);for(;null!=(a=n.next());){var v=g.get(o,a),m=g.get(s,a),x=g.get(l,a),_=g.get(u,a),b=g.get(h,a);isNaN(v)||isNaN(_)||isNaN(b)?(c[p++]=NaN,p+=3):(c[p++]=YP(g,a,m,x,l,y),d[0]=v,d[1]=_,r=e.dataToPoint(d,null,f),c[p++]=r?r[0]:NaN,c[p++]=r?r[1]:NaN,d[1]=b,r=e.dataToPoint(d,null,f),c[p++]=r?r[1]:NaN)}i.setLayout("largePoints",c)}:function(t,n){var r,a=n.getStore();for(;null!=(r=t.next());){var c=a.get(o,r),p=a.get(s,r),d=a.get(l,r),f=a.get(u,r),g=a.get(h,r),y=Math.min(p,d),v=Math.max(p,d),m=M(y,c),x=M(v,c),_=M(f,c),b=M(g,c),w=[];I(w,x,0),I(w,m,1),w.push(C(b),C(x),C(_),C(m));var S=!!n.getItemModel(r).get(["itemStyle","borderColorDoji"]);n.setItemLayout(r,{sign:YP(a,r,p,d,l,S),initBaseline:p>d?x[1]:m[1],ends:w,brushRect:T(f,g,c)})}function M(t,n){var i=[];return i[0]=n,i[1]=t,isNaN(n)||isNaN(t)?[NaN,NaN]:e.dataToPoint(i)}function I(t,e,n){var r=e.slice(),o=e.slice();r[0]=Vh(r[0]+i/2,1,!1),o[0]=Vh(o[0]-i/2,1,!0),n?t.push(r,o):t.push(o,r)}function T(t,e,n){var r=M(t,n),o=M(e,n);return r[0]-=i/2,o[0]-=i/2,{x:r[0],y:r[1],width:i,height:o[1]-r[1]}}function C(t){return t[0]=Vh(t[0],1),t}}}}};function YP(t,e,n,i,r,o){return n>i?-1:n0?t.get(r,e-1)<=i?1:-1:1}function XP(t,e){var n=e.rippleEffectColor||e.color;t.eachChild((function(t){t.attr({z:e.z,zlevel:e.zlevel,style:{stroke:"stroke"===e.brushType?n:null,fill:"fill"===e.brushType?n:null}})}))}var UP=function(t){function e(e,n){var i=t.call(this)||this,r=new fS(e,n),o=new Br;return i.add(r),i.add(o),i.updateData(e,n),i}return n(e,t),e.prototype.stopEffectAnimation=function(){this.childAt(1).removeAll()},e.prototype.startEffectAnimation=function(t){for(var e=t.symbolType,n=t.color,i=t.rippleNumber,r=this.childAt(1),o=0;o0&&(o=this._getLineLength(i)/l*1e3),o!==this._period||a!==this._loop||s!==this._roundTrip){i.stopAnimation();var h=void 0;h=X(u)?u(n):u,i.__t>0&&(h=-o*i.__t),this._animateSymbol(i,o,h,a,s)}this._period=o,this._loop=a,this._roundTrip=s}},e.prototype._animateSymbol=function(t,e,n,i,r){if(e>0){t.__t=0;var o=this,a=t.animate("",i).when(r?2*e:e,{__t:r?2:1}).delay(n).during((function(){o._updateSymbolPosition(t)}));i||a.done((function(){o.remove(t)})),a.start()}},e.prototype._getLineLength=function(t){return Vt(t.__p1,t.__cp1)+Vt(t.__cp1,t.__p2)},e.prototype._updateAnimationPoints=function(t,e){t.__p1=e[0],t.__p2=e[1],t.__cp1=e[2]||[(e[0][0]+e[1][0])/2,(e[0][1]+e[1][1])/2]},e.prototype.updateData=function(t,e,n){this.childAt(0).updateData(t,e,n),this._updateEffectSymbol(t,e)},e.prototype._updateSymbolPosition=function(t){var e=t.__p1,n=t.__p2,i=t.__cp1,r=t.__t<1?t.__t:2-t.__t,o=[t.x,t.y],a=o.slice(),s=In,l=Tn;o[0]=s(e[0],i[0],n[0],r),o[1]=s(e[1],i[1],n[1],r);var u=t.__t<1?l(e[0],i[0],n[0],r):l(n[0],i[0],e[0],1-r),h=t.__t<1?l(e[1],i[1],n[1],r):l(n[1],i[1],e[1],1-r);t.rotation=-Math.atan2(h,u)-Math.PI/2,"line"!==this._symbolType&&"rect"!==this._symbolType&&"roundRect"!==this._symbolType||(void 0!==t.__lastT&&t.__lastT=0&&!(i[o]<=e);o--);o=Math.min(o,r-2)}else{for(o=a;oe);o++);o=Math.min(o-1,r-2)}var s=(e-i[o])/(i[o+1]-i[o]),l=n[o],u=n[o+1];t.x=l[0]*(1-s)+s*u[0],t.y=l[1]*(1-s)+s*u[1];var h=t.__t<1?u[0]-l[0]:l[0]-u[0],c=t.__t<1?u[1]-l[1]:l[1]-u[1];t.rotation=-Math.atan2(c,h)-Math.PI/2,this._lastFrame=o,this._lastFramePercent=e,t.ignore=!1}},e}(qP),JP=function(){this.polyline=!1,this.curveness=0,this.segs=[]},QP=function(t){function e(e){var n=t.call(this,e)||this;return n._off=0,n.hoverDataIdx=-1,n}return n(e,t),e.prototype.reset=function(){this.notClear=!1,this._off=0},e.prototype.getDefaultStyle=function(){return{stroke:"#000",fill:null}},e.prototype.getDefaultShape=function(){return new JP},e.prototype.buildPath=function(t,e){var n,i=e.segs,r=e.curveness;if(e.polyline)for(n=this._off;n0){t.moveTo(i[n++],i[n++]);for(var a=1;a0){var c=(s+u)/2-(l-h)*r,p=(l+h)/2-(u-s)*r;t.quadraticCurveTo(c,p,u,h)}else t.lineTo(u,h)}this.incremental&&(this._off=n,this.notClear=!0)},e.prototype.findDataIndex=function(t,e){var n=this.shape,i=n.segs,r=n.curveness,o=this.style.lineWidth;if(n.polyline)for(var a=0,s=0;s0)for(var u=i[s++],h=i[s++],c=1;c0){if(ds(u,h,(u+p)/2-(h-d)*r,(h+d)/2-(p-u)*r,p,d,o,t,e))return a}else if(cs(u,h,p,d,o,t,e))return a;a++}return-1},e.prototype.contain=function(t,e){var n=this.transformCoordToLocal(t,e),i=this.getBoundingRect();return t=n[0],e=n[1],i.contain(t,e)?(this.hoverDataIdx=this.findDataIndex(t,e))>=0:(this.hoverDataIdx=-1,!1)},e.prototype.getBoundingRect=function(){var t=this._rect;if(!t){for(var e=this.shape.segs,n=1/0,i=1/0,r=-1/0,o=-1/0,a=0;a0&&(o.dataIndex=n+t.__startIndex)}))},t.prototype._clear=function(){this._newAdded=[],this.group.removeAll()},t}(),eO={seriesType:"lines",plan:kg(),reset:function(t){var e=t.coordinateSystem;if(e){var n=t.get("polyline"),i=t.pipelineContext.large;return{progress:function(r,o){var a=[];if(i){var s=void 0,l=r.end-r.start;if(n){for(var u=0,h=r.start;h0&&(l||s.configLayer(o,{motionBlur:!0,lastFrameAlpha:Math.max(Math.min(a/10+.9,1),0)})),r.updateData(i);var u=t.get("clip",!0)&&PS(t.coordinateSystem,!1,t);u?this.group.setClipPath(u):this.group.removeClipPath(),this._lastZlevel=o,this._finished=!0},e.prototype.incrementalPrepareRender=function(t,e,n){var i=t.getData();this._updateLineDraw(i,t).incrementalPrepareUpdate(i),this._clearLayer(n),this._finished=!1},e.prototype.incrementalRender=function(t,e,n){this._lineDraw.incrementalUpdate(t,e.getData()),this._finished=t.end===e.getData().count()},e.prototype.eachRendered=function(t){this._lineDraw&&this._lineDraw.eachRendered(t)},e.prototype.updateTransform=function(t,e,n){var i=t.getData(),r=t.pipelineContext;if(!this._finished||r.large||r.progressiveRender)return{update:!0};var o=eO.reset(t,e,n);o.progress&&o.progress({start:0,end:i.count(),count:i.count()},i),this._lineDraw.updateLayout(),this._clearLayer(n)},e.prototype._updateLineDraw=function(t,e){var n=this._lineDraw,i=this._showEffect(e),r=!!e.get("polyline"),o=e.pipelineContext.large;return n&&i===this._hasEffet&&r===this._isPolyline&&o===this._isLargeDraw||(n&&n.remove(),n=this._lineDraw=o?new tO:new YA(r?i?$P:KP:i?qP:HA),this._hasEffet=i,this._isPolyline=r,this._isLargeDraw=o),this.group.add(n.group),n},e.prototype._showEffect=function(t){return!!t.get(["effect","show"])},e.prototype._clearLayer=function(t){var e=t.getZr();"svg"===e.painter.getType()||null==this._lastZlevel||e.painter.getLayer(this._lastZlevel).clear(!0)},e.prototype.remove=function(t,e){this._lineDraw&&this._lineDraw.remove(),this._lineDraw=null,this._clearLayer(e)},e.prototype.dispose=function(t,e){this.remove(t,e)},e.type="lines",e}(Og),iO="undefined"==typeof Uint32Array?Array:Uint32Array,rO="undefined"==typeof Float64Array?Array:Float64Array;function oO(t){var e=t.data;e&&e[0]&&e[0][0]&&e[0][0].coord&&(t.data=z(e,(function(t){var e={coords:[t[0].coord,t[1].coord]};return t[0].name&&(e.fromName=t[0].name),t[1].name&&(e.toName=t[1].name),D([e,t[0],t[1]])})))}var aO=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n.visualStyleAccessPath="lineStyle",n.visualDrawType="stroke",n}return n(e,t),e.prototype.init=function(e){e.data=e.data||[],oO(e);var n=this._processFlatCoordsArray(e.data);this._flatCoords=n.flatCoords,this._flatCoordsOffset=n.flatCoordsOffset,n.flatCoords&&(e.data=new Float32Array(n.count)),t.prototype.init.apply(this,arguments)},e.prototype.mergeOption=function(e){if(oO(e),e.data){var n=this._processFlatCoordsArray(e.data);this._flatCoords=n.flatCoords,this._flatCoordsOffset=n.flatCoordsOffset,n.flatCoords&&(e.data=new Float32Array(n.count))}t.prototype.mergeOption.apply(this,arguments)},e.prototype.appendData=function(t){var e=this._processFlatCoordsArray(t.data);e.flatCoords&&(this._flatCoords?(this._flatCoords=vt(this._flatCoords,e.flatCoords),this._flatCoordsOffset=vt(this._flatCoordsOffset,e.flatCoordsOffset)):(this._flatCoords=e.flatCoords,this._flatCoordsOffset=e.flatCoordsOffset),t.data=new Float32Array(e.count)),this.getRawData().appendData(t.data)},e.prototype._getCoordsFromItemModel=function(t){var e=this.getData().getItemModel(t),n=e.option instanceof Array?e.option:e.getShallow("coords");return n},e.prototype.getLineCoordsCount=function(t){return this._flatCoordsOffset?this._flatCoordsOffset[2*t+1]:this._getCoordsFromItemModel(t).length},e.prototype.getLineCoords=function(t,e){if(this._flatCoordsOffset){for(var n=this._flatCoordsOffset[2*t],i=this._flatCoordsOffset[2*t+1],r=0;r ")})},e.prototype.preventIncremental=function(){return!!this.get(["effect","show"])},e.prototype.getProgressive=function(){var t=this.option.progressive;return null==t?this.option.large?1e4:this.get("progressive"):t},e.prototype.getProgressiveThreshold=function(){var t=this.option.progressiveThreshold;return null==t?this.option.large?2e4:this.get("progressiveThreshold"):t},e.prototype.getZLevelKey=function(){var t=this.getModel("effect"),e=t.get("trailLength");return this.getData().count()>this.getProgressiveThreshold()?this.id:t.get("show")&&e>0?e+"":""},e.type="series.lines",e.dependencies=["grid","polar","geo","calendar"],e.defaultOption={coordinateSystem:"geo",z:2,legendHoverLink:!0,xAxisIndex:0,yAxisIndex:0,symbol:["none","none"],symbolSize:[10,10],geoIndex:0,effect:{show:!1,period:4,constantSpeed:0,symbol:"circle",symbolSize:3,loop:!0,trailLength:.2},large:!1,largeThreshold:2e3,polyline:!1,clip:!0,label:{show:!1,position:"end"},lineStyle:{opacity:.5}},e}(bg);function sO(t){return t instanceof Array||(t=[t,t]),t}var lO={seriesType:"lines",reset:function(t){var e=sO(t.get("symbol")),n=sO(t.get("symbolSize")),i=t.getData();return i.setVisual("fromSymbol",e&&e[0]),i.setVisual("toSymbol",e&&e[1]),i.setVisual("fromSymbolSize",n&&n[0]),i.setVisual("toSymbolSize",n&&n[1]),{dataEach:i.hasItemOption?function(t,e){var n=t.getItemModel(e),i=sO(n.getShallow("symbol",!0)),r=sO(n.getShallow("symbolSize",!0));i[0]&&t.setItemVisual(e,"fromSymbol",i[0]),i[1]&&t.setItemVisual(e,"toSymbol",i[1]),r[0]&&t.setItemVisual(e,"fromSymbolSize",r[0]),r[1]&&t.setItemVisual(e,"toSymbolSize",r[1])}:null}}};var uO=function(){function t(){this.blurSize=30,this.pointSize=20,this.maxOpacity=1,this.minOpacity=0,this._gradientPixels={inRange:null,outOfRange:null};var t=h.createCanvas();this.canvas=t}return t.prototype.update=function(t,e,n,i,r,o){var a=this._getBrush(),s=this._getGradient(r,"inRange"),l=this._getGradient(r,"outOfRange"),u=this.pointSize+this.blurSize,h=this.canvas,c=h.getContext("2d"),p=t.length;h.width=e,h.height=n;for(var d=0;d0){var I=o(v)?s:l;v>0&&(v=v*S+w),x[_++]=I[M],x[_++]=I[M+1],x[_++]=I[M+2],x[_++]=I[M+3]*v*256}else _+=4}return c.putImageData(m,0,0),h},t.prototype._getBrush=function(){var t=this._brushCanvas||(this._brushCanvas=h.createCanvas()),e=this.pointSize+this.blurSize,n=2*e;t.width=n,t.height=n;var i=t.getContext("2d");return i.clearRect(0,0,n,n),i.shadowOffsetX=n,i.shadowBlur=this.blurSize,i.shadowColor="#000",i.beginPath(),i.arc(-e,e,this.pointSize,0,2*Math.PI,!0),i.closePath(),i.fill(),t},t.prototype._getGradient=function(t,e){for(var n=this._gradientPixels,i=n[e]||(n[e]=new Uint8ClampedArray(1024)),r=[0,0,0,0],o=0,a=0;a<256;a++)t[e](a/255,!0,r),i[o++]=r[0],i[o++]=r[1],i[o++]=r[2],i[o++]=r[3];return i},t}();function hO(t){var e=t.dimensions;return"lng"===e[0]&&"lat"===e[1]}var cO=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.render=function(t,e,n){var i;e.eachComponent("visualMap",(function(e){e.eachTargetSeries((function(n){n===t&&(i=e)}))})),this._progressiveEls=null,this.group.removeAll();var r=t.coordinateSystem;"cartesian2d"===r.type||"calendar"===r.type?this._renderOnCartesianAndCalendar(t,n,0,t.getData().count()):hO(r)&&this._renderOnGeo(r,t,i,n)},e.prototype.incrementalPrepareRender=function(t,e,n){this.group.removeAll()},e.prototype.incrementalRender=function(t,e,n,i){var r=e.coordinateSystem;r&&(hO(r)?this.render(e,n,i):(this._progressiveEls=[],this._renderOnCartesianAndCalendar(e,i,t.start,t.end,!0)))},e.prototype.eachRendered=function(t){Jh(this._progressiveEls||this.group,t)},e.prototype._renderOnCartesianAndCalendar=function(t,e,n,i,r){var o,a,s,l,u=t.coordinateSystem,h=OS(u,"cartesian2d");if(h){var c=u.getAxis("x"),p=u.getAxis("y");0,o=c.getBandWidth()+.5,a=p.getBandWidth()+.5,s=c.scale.getExtent(),l=p.scale.getExtent()}for(var d=this.group,f=t.getData(),g=t.getModel(["emphasis","itemStyle"]).getItemStyle(),y=t.getModel(["blur","itemStyle"]).getItemStyle(),v=t.getModel(["select","itemStyle"]).getItemStyle(),m=t.get(["itemStyle","borderRadius"]),x=rc(t),_=t.getModel("emphasis"),b=_.get("focus"),w=_.get("blurScope"),S=_.get("disabled"),M=h?[f.mapDimension("x"),f.mapDimension("y"),f.mapDimension("value")]:[f.mapDimension("time"),f.mapDimension("value")],I=n;Is[1]||Al[1])continue;var k=u.dataToPoint([D,A]);T=new Ws({shape:{x:k[0]-o/2,y:k[1]-a/2,width:o,height:a},style:C})}else{if(isNaN(f.get(M[1],I)))continue;T=new Ws({z2:1,shape:u.dataToRect([f.get(M[0],I)]).contentShape,style:C})}if(f.hasItemOption){var L=f.getItemModel(I),P=L.getModel("emphasis");g=P.getModel("itemStyle").getItemStyle(),y=L.getModel(["blur","itemStyle"]).getItemStyle(),v=L.getModel(["select","itemStyle"]).getItemStyle(),m=L.get(["itemStyle","borderRadius"]),b=P.get("focus"),w=P.get("blurScope"),S=P.get("disabled"),x=rc(L)}T.shape.r=m;var O=t.getRawValue(I),R="-";O&&null!=O[2]&&(R=O[2]+""),ic(T,x,{labelFetcher:t,labelDataIndex:I,defaultOpacity:C.opacity,defaultText:R}),T.ensureState("emphasis").style=g,T.ensureState("blur").style=y,T.ensureState("select").style=v,Zl(T,b,w,S),T.incremental=r,r&&(T.states.emphasis.hoverLayer=!0),d.add(T),f.setItemGraphicEl(I,T),this._progressiveEls&&this._progressiveEls.push(T)}},e.prototype._renderOnGeo=function(t,e,n,i){var r=n.targetVisuals.inRange,o=n.targetVisuals.outOfRange,a=e.getData(),s=this._hmLayer||this._hmLayer||new uO;s.blurSize=e.get("blurSize"),s.pointSize=e.get("pointSize"),s.minOpacity=e.get("minOpacity"),s.maxOpacity=e.get("maxOpacity");var l=t.getViewRect().clone(),u=t.getRoamTransform();l.applyTransform(u);var h=Math.max(l.x,0),c=Math.max(l.y,0),p=Math.min(l.width+l.x,i.getWidth()),d=Math.min(l.height+l.y,i.getHeight()),f=p-h,g=d-c,y=[a.mapDimension("lng"),a.mapDimension("lat"),a.mapDimension("value")],v=a.mapArray(y,(function(e,n,i){var r=t.dataToPoint([e,n]);return r[0]-=h,r[1]-=c,r.push(i),r})),m=n.getExtent(),x="visualMap.continuous"===n.type?function(t,e){var n=t[1]-t[0];return e=[(e[0]-t[0])/n,(e[1]-t[0])/n],function(t){return t>=e[0]&&t<=e[1]}}(m,n.option.range):function(t,e,n){var i=t[1]-t[0],r=(e=z(e,(function(e){return{interval:[(e.interval[0]-t[0])/i,(e.interval[1]-t[0])/i]}}))).length,o=0;return function(t){var i;for(i=o;i=0;i--){var a;if((a=e[i].interval)[0]<=t&&t<=a[1]){o=i;break}}return i>=0&&i0?1:-1}(n,o,r,i,c),function(t,e,n,i,r,o,a,s,l,u){var h,c=l.valueDim,p=l.categoryDim,d=Math.abs(n[p.wh]),f=t.getItemVisual(e,"symbolSize");h=Y(f)?f.slice():null==f?["100%","100%"]:[f,f];h[p.index]=$r(h[p.index],d),h[c.index]=$r(h[c.index],i?d:Math.abs(o)),u.symbolSize=h;var g=u.symbolScale=[h[0]/s,h[1]/s];g[c.index]*=(l.isHorizontal?-1:1)*a}(t,e,r,o,0,c.boundingLength,c.pxSign,u,i,c),function(t,e,n,i,r){var o=t.get(dO)||0;o&&(gO.attr({scaleX:e[0],scaleY:e[1],rotation:n}),gO.updateTransform(),o/=gO.getLineScale(),o*=e[i.valueDim.index]);r.valueLineWidth=o||0}(n,c.symbolScale,l,i,c);var p=c.symbolSize,d=Zy(n.get("symbolOffset"),p);return function(t,e,n,i,r,o,a,s,l,u,h,c){var p=h.categoryDim,d=h.valueDim,f=c.pxSign,g=Math.max(e[d.index]+s,0),y=g;if(i){var v=Math.abs(l),m=it(t.get("symbolMargin"),"15%")+"",x=!1;m.lastIndexOf("!")===m.length-1&&(x=!0,m=m.slice(0,m.length-1));var _=$r(m,e[d.index]),b=Math.max(g+2*_,0),w=x?0:2*_,S=vo(i),M=S?i:OO((v+w)/b);b=g+2*(_=(v-M*g)/2/(x?M:Math.max(M-1,1))),w=x?0:2*_,S||"fixed"===i||(M=u?OO((Math.abs(u)+w)/b):0),y=M*b-w,c.repeatTimes=M,c.symbolMargin=_}var I=f*(y/2),T=c.pathPosition=[];T[p.index]=n[p.wh]/2,T[d.index]="start"===a?I:"end"===a?l-I:l/2,o&&(T[0]+=o[0],T[1]+=o[1]);var C=c.bundlePosition=[];C[p.index]=n[p.xy],C[d.index]=n[d.xy];var D=c.barRectShape=A({},n);D[d.wh]=f*Math.max(Math.abs(n[d.wh]),Math.abs(T[d.index]+I)),D[p.wh]=n[p.wh];var k=c.clipShape={};k[p.xy]=-n[p.xy],k[p.wh]=h.ecSize[p.wh],k[d.xy]=0,k[d.wh]=n[d.wh]}(n,p,r,o,0,d,s,c.valueLineWidth,c.boundingLength,c.repeatCutLength,i,c),c}function mO(t,e){return t.toGlobalCoord(t.dataToCoord(t.scale.parse(e)))}function xO(t){var e=t.symbolPatternSize,n=Xy(t.symbolType,-e/2,-e/2,e,e);return n.attr({culling:!0}),"image"!==n.type&&n.setStyle({strokeNoScale:!0}),n}function _O(t,e,n,i){var r=t.__pictorialBundle,o=n.symbolSize,a=n.valueLineWidth,s=n.pathPosition,l=e.valueDim,u=n.repeatTimes||0,h=0,c=o[e.valueDim.index]+a+2*n.symbolMargin;for(kO(t,(function(t){t.__pictorialAnimationIndex=h,t.__pictorialRepeatTimes=u,h0:i<0)&&(r=u-1-t),e[l.index]=c*(r-u/2+.5)+s[l.index],{x:e[0],y:e[1],scaleX:n.symbolScale[0],scaleY:n.symbolScale[1],rotation:n.rotation}}}function bO(t,e,n,i){var r=t.__pictorialBundle,o=t.__pictorialMainPath;o?LO(o,null,{x:n.pathPosition[0],y:n.pathPosition[1],scaleX:n.symbolScale[0],scaleY:n.symbolScale[1],rotation:n.rotation},n,i):(o=t.__pictorialMainPath=xO(n),r.add(o),LO(o,{x:n.pathPosition[0],y:n.pathPosition[1],scaleX:0,scaleY:0,rotation:n.rotation},{scaleX:n.symbolScale[0],scaleY:n.symbolScale[1]},n,i))}function wO(t,e,n){var i=A({},e.barRectShape),r=t.__pictorialBarRect;r?LO(r,null,{shape:i},e,n):((r=t.__pictorialBarRect=new Ws({z2:2,shape:i,silent:!0,style:{stroke:"transparent",fill:"transparent",lineWidth:0}})).disableMorphing=!0,t.add(r))}function SO(t,e,n,i){if(n.symbolClip){var r=t.__pictorialClipPath,o=A({},n.clipShape),a=e.valueDim,s=n.animationModel,l=n.dataIndex;if(r)vh(r,{shape:o},s,l);else{o[a.wh]=0,r=new Ws({shape:o}),t.__pictorialBundle.setClipPath(r),t.__pictorialClipPath=r;var u={};u[a.wh]=n.clipShape[a.wh],Qh[i?"updateProps":"initProps"](r,{shape:u},s,l)}}}function MO(t,e){var n=t.getItemModel(e);return n.getAnimationDelayParams=IO,n.isAnimationEnabled=TO,n}function IO(t){return{index:t.__pictorialAnimationIndex,count:t.__pictorialRepeatTimes}}function TO(){return this.parentModel.isAnimationEnabled()&&!!this.getShallow("animation")}function CO(t,e,n,i){var r=new Br,o=new Br;return r.add(o),r.__pictorialBundle=o,o.x=n.bundlePosition[0],o.y=n.bundlePosition[1],n.symbolRepeat?_O(r,e,n):bO(r,0,n),wO(r,n,i),SO(r,e,n,i),r.__pictorialShapeStr=AO(t,n),r.__pictorialSymbolMeta=n,r}function DO(t,e,n,i){var r=i.__pictorialBarRect;r&&r.removeTextContent();var o=[];kO(i,(function(t){o.push(t)})),i.__pictorialMainPath&&o.push(i.__pictorialMainPath),i.__pictorialClipPath&&(n=null),E(o,(function(t){_h(t,{scaleX:0,scaleY:0},n,e,(function(){i.parent&&i.parent.remove(i)}))})),t.setItemGraphicEl(e,null)}function AO(t,e){return[t.getItemVisual(e.dataIndex,"symbol")||"none",!!e.symbolRepeat,!!e.symbolClip].join(":")}function kO(t,e,n){E(t.__pictorialBundle.children(),(function(i){i!==t.__pictorialBarRect&&e.call(n,i)}))}function LO(t,e,n,i,r,o){e&&t.attr(e),i.symbolClip&&!r?n&&t.attr(n):n&&Qh[r?"updateProps":"initProps"](t,n,i.animationModel,i.dataIndex,o)}function PO(t,e,n){var i=n.dataIndex,r=n.itemModel,o=r.getModel("emphasis"),a=o.getModel("itemStyle").getItemStyle(),s=r.getModel(["blur","itemStyle"]).getItemStyle(),l=r.getModel(["select","itemStyle"]).getItemStyle(),u=r.getShallow("cursor"),h=o.get("focus"),c=o.get("blurScope"),p=o.get("scale");kO(t,(function(t){if(t instanceof Ns){var e=t.style;t.useStyle(A({image:e.image,x:e.x,y:e.y,width:e.width,height:e.height},n.style))}else t.useStyle(n.style);var i=t.ensureState("emphasis");i.style=a,p&&(i.scaleX=1.1*t.scaleX,i.scaleY=1.1*t.scaleY),t.ensureState("blur").style=s,t.ensureState("select").style=l,u&&(t.cursor=u),t.z2=n.z2}));var d=e.valueDim.posDesc[+(n.boundingLength>0)],f=t.__pictorialBarRect;f.ignoreClip=!0,ic(f,rc(r),{labelFetcher:e.seriesModel,labelDataIndex:i,defaultText:pS(e.seriesModel.getData(),i),inheritColor:n.style.fill,defaultOpacity:n.style.opacity,defaultOutsidePosition:d}),Zl(t,h,c,o.get("disabled"))}function OO(t){var e=Math.round(t);return Math.abs(t-e)<1e-4?e:Math.ceil(t)}var RO=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n.hasSymbolVisual=!0,n.defaultSymbol="roundRect",n}return n(e,t),e.prototype.getInitialData=function(e){return e.stack=null,t.prototype.getInitialData.apply(this,arguments)},e.type="series.pictorialBar",e.dependencies=["grid"],e.defaultOption=kc(qS.defaultOption,{symbol:"circle",symbolSize:null,symbolRotate:null,symbolPosition:null,symbolOffset:null,symbolMargin:null,symbolRepeat:!1,symbolRepeatDirection:"end",symbolClip:!1,symbolBoundingData:null,symbolPatternSize:400,barGap:"-100%",clip:!1,progressive:0,emphasis:{scale:!1},select:{itemStyle:{borderColor:"#212121"}}}),e}(qS);var NO=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n._layers=[],n}return n(e,t),e.prototype.render=function(t,e,n){var i=t.getData(),r=this,o=this.group,a=t.getLayerSeries(),s=i.getLayout("layoutInfo"),l=s.rect,u=s.boundaryGap;function h(t){return t.name}o.x=0,o.y=l.y+u[0];var c=new Gm(this._layersSeries||[],a,h,h),p=[];function d(e,n,s){var l=r._layers;if("remove"!==e){for(var u,h,c=[],d=[],f=a[n].indices,g=0;go&&(o=s),i.push(s)}for(var u=0;uo&&(o=c)}return{y0:r,max:o}}(l),h=u.y0,c=n/u.max,p=o.length,d=o[0].indices.length,f=0;fI&&!so(C-I)&&C0?(r.virtualPiece?r.virtualPiece.updateData(!1,i,t,e,n):(r.virtualPiece=new BO(i,t,e,n),l.add(r.virtualPiece)),o.piece.off("click"),r.virtualPiece.on("click",(function(t){r._rootToNode(o.parentNode)}))):r.virtualPiece&&(l.remove(r.virtualPiece),r.virtualPiece=null)}(a,s),this._initEvents(),this._oldChildren=h},e.prototype._initEvents=function(){var t=this;this.group.off("click"),this.group.on("click",(function(e){var n=!1;t.seriesModel.getViewRoot().eachNode((function(i){if(!n&&i.piece&&i.piece===e.target){var r=i.getModel().get("nodeClick");if("rootToNode"===r)t._rootToNode(i);else if("link"===r){var o=i.getModel(),a=o.get("link");if(a)Mp(a,o.get("target",!0)||"_blank")}n=!0}}))}))},e.prototype._rootToNode=function(t){t!==this.seriesModel.getViewRoot()&&this.api.dispatchAction({type:FO,from:this.uid,seriesId:this.seriesModel.id,targetNode:t})},e.prototype.containPoint=function(t,e){var n=e.getData().getItemLayout(0);if(n){var i=t[0]-n.cx,r=t[1]-n.cy,o=Math.sqrt(i*i+r*r);return o<=n.r&&o>=n.r0}},e.type="sunburst",e}(Og),HO=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n.ignoreStyleOnData=!0,n}return n(e,t),e.prototype.getInitialData=function(t,e){var n={name:t.name,children:t.data};YO(n);var i=this._levelModels=z(t.levels||[],(function(t){return new Cc(t,this,e)}),this),r=nD.createTree(n,this,(function(t){t.wrapMethod("getItemModel",(function(t,e){var n=r.getNodeByDataIndex(e),o=i[n.depth];return o&&(t.parentModel=o),t}))}));return r.data},e.prototype.optionUpdated=function(){this.resetViewRoot()},e.prototype.getDataParams=function(e){var n=t.prototype.getDataParams.apply(this,arguments),i=this.getData().tree.getNodeByDataIndex(e);return n.treePathInfo=aD(i,this),n},e.prototype.getLevelModel=function(t){return this._levelModels&&this._levelModels[t.depth]},e.prototype.getViewRoot=function(){return this._viewRoot},e.prototype.resetViewRoot=function(t){t?this._viewRoot=t:t=this._viewRoot;var e=this.getRawData().tree.root;t&&(t===e||e.contains(t))||(this._viewRoot=e)},e.prototype.enableAriaDecal=function(){pD(this)},e.type="series.sunburst",e.defaultOption={z:2,center:["50%","50%"],radius:[0,"75%"],clockwise:!0,startAngle:90,minAngle:0,stillShowZeroSum:!0,nodeClick:"rootToNode",renderLabelForZeroData:!1,label:{rotate:"radial",show:!0,opacity:1,align:"center",position:"inside",distance:5,silent:!0},itemStyle:{borderWidth:1,borderColor:"white",borderType:"solid",shadowBlur:0,shadowColor:"rgba(0, 0, 0, 0.2)",shadowOffsetX:0,shadowOffsetY:0,opacity:1},emphasis:{focus:"descendant"},blur:{itemStyle:{opacity:.2},label:{opacity:.1}},animationType:"expansion",animationDuration:1e3,animationDurationUpdate:500,data:[],sort:"desc"},e}(bg);function YO(t){var e=0;E(t.children,(function(t){YO(t);var n=t.value;Y(n)&&(n=n[0]),e+=n}));var n=t.value;Y(n)&&(n=n[0]),(null==n||isNaN(n))&&(n=e),n<0&&(n=0),Y(t.value)?t.value[0]=n:t.value=n}var XO=Math.PI/180;function UO(t,e,n){e.eachSeriesByType(t,(function(t){var e=t.get("center"),i=t.get("radius");Y(i)||(i=[0,i]),Y(e)||(e=[e,e]);var r=n.getWidth(),o=n.getHeight(),a=Math.min(r,o),s=$r(e[0],r),l=$r(e[1],o),u=$r(i[0],a/2),h=$r(i[1],a/2),c=-t.get("startAngle")*XO,p=t.get("minAngle")*XO,d=t.getData().tree.root,f=t.getViewRoot(),g=f.depth,y=t.get("sort");null!=y&&ZO(f,y);var v=0;E(f.children,(function(t){!isNaN(t.getValue())&&v++}));var m=f.getValue(),x=Math.PI/(m||v)*2,_=f.depth>0,b=f.height-(_?-1:1),w=(h-u)/(b||1),S=t.get("clockwise"),M=t.get("stillShowZeroSum"),I=S?1:-1,T=function(e,n){if(e){var i=n;if(e!==d){var r=e.getValue(),o=0===m&&M?x:r*x;o1;)r=r.parentNode;var o=n.getColorFromPalette(r.name||r.dataIndex+"",e);return t.depth>1&&U(o)&&(o=$n(o,(t.depth-1)/(i-1)*.5)),o}(r,t,i.root.height)),A(n.ensureUniqueItemVisual(r.dataIndex,"style"),o)}))}))}var qO={color:"fill",borderColor:"stroke"},KO={symbol:1,symbolSize:1,symbolKeepAspect:1,legendIcon:1,visualMeta:1,liftZ:1,decal:1},$O=Vo(),JO=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.optionUpdated=function(){this.currentZLevel=this.get("zlevel",!0),this.currentZ=this.get("z",!0)},e.prototype.getInitialData=function(t,e){return _x(null,this)},e.prototype.getDataParams=function(e,n,i){var r=t.prototype.getDataParams.call(this,e,n);return i&&(r.info=$O(i).info),r},e.type="series.custom",e.dependencies=["grid","polar","geo","singleAxis","calendar"],e.defaultOption={coordinateSystem:"cartesian2d",z:2,legendHoverLink:!0,clip:!1},e}(bg);function QO(t,e){return e=e||[0,0],z(["x","y"],(function(n,i){var r=this.getAxis(n),o=e[i],a=t[i]/2;return"category"===r.type?r.getBandWidth():Math.abs(r.dataToCoord(o-a)-r.dataToCoord(o+a))}),this)}function tR(t,e){return e=e||[0,0],z([0,1],(function(n){var i=e[n],r=t[n]/2,o=[],a=[];return o[n]=i-r,a[n]=i+r,o[1-n]=a[1-n]=e[1-n],Math.abs(this.dataToPoint(o)[n]-this.dataToPoint(a)[n])}),this)}function eR(t,e){var n=this.getAxis(),i=e instanceof Array?e[0]:e,r=(t instanceof Array?t[0]:t)/2;return"category"===n.type?n.getBandWidth():Math.abs(n.dataToCoord(i-r)-n.dataToCoord(i+r))}function nR(t,e){return e=e||[0,0],z(["Radius","Angle"],(function(n,i){var r=this["get"+n+"Axis"](),o=e[i],a=t[i]/2,s="category"===r.type?r.getBandWidth():Math.abs(r.dataToCoord(o-a)-r.dataToCoord(o+a));return"Angle"===n&&(s=s*Math.PI/180),s}),this)}function iR(t,e,n,i){return t&&(t.legacy||!1!==t.legacy&&!n&&!i&&"tspan"!==e&&("text"===e||_t(t,"text")))}function rR(t,e,n){var i,r,o,a=t;if("text"===e)o=a;else{o={},_t(a,"text")&&(o.text=a.text),_t(a,"rich")&&(o.rich=a.rich),_t(a,"textFill")&&(o.fill=a.textFill),_t(a,"textStroke")&&(o.stroke=a.textStroke),_t(a,"fontFamily")&&(o.fontFamily=a.fontFamily),_t(a,"fontSize")&&(o.fontSize=a.fontSize),_t(a,"fontStyle")&&(o.fontStyle=a.fontStyle),_t(a,"fontWeight")&&(o.fontWeight=a.fontWeight),r={type:"text",style:o,silent:!0},i={};var s=_t(a,"textPosition");n?i.position=s?a.textPosition:"inside":s&&(i.position=a.textPosition),_t(a,"textPosition")&&(i.position=a.textPosition),_t(a,"textOffset")&&(i.offset=a.textOffset),_t(a,"textRotation")&&(i.rotation=a.textRotation),_t(a,"textDistance")&&(i.distance=a.textDistance)}return oR(o,t),E(o.rich,(function(t){oR(t,t)})),{textConfig:i,textContent:r}}function oR(t,e){e&&(e.font=e.textFont||e.font,_t(e,"textStrokeWidth")&&(t.lineWidth=e.textStrokeWidth),_t(e,"textAlign")&&(t.align=e.textAlign),_t(e,"textVerticalAlign")&&(t.verticalAlign=e.textVerticalAlign),_t(e,"textLineHeight")&&(t.lineHeight=e.textLineHeight),_t(e,"textWidth")&&(t.width=e.textWidth),_t(e,"textHeight")&&(t.height=e.textHeight),_t(e,"textBackgroundColor")&&(t.backgroundColor=e.textBackgroundColor),_t(e,"textPadding")&&(t.padding=e.textPadding),_t(e,"textBorderColor")&&(t.borderColor=e.textBorderColor),_t(e,"textBorderWidth")&&(t.borderWidth=e.textBorderWidth),_t(e,"textBorderRadius")&&(t.borderRadius=e.textBorderRadius),_t(e,"textBoxShadowColor")&&(t.shadowColor=e.textBoxShadowColor),_t(e,"textBoxShadowBlur")&&(t.shadowBlur=e.textBoxShadowBlur),_t(e,"textBoxShadowOffsetX")&&(t.shadowOffsetX=e.textBoxShadowOffsetX),_t(e,"textBoxShadowOffsetY")&&(t.shadowOffsetY=e.textBoxShadowOffsetY))}function aR(t,e,n){var i=t;i.textPosition=i.textPosition||n.position||"inside",null!=n.offset&&(i.textOffset=n.offset),null!=n.rotation&&(i.textRotation=n.rotation),null!=n.distance&&(i.textDistance=n.distance);var r=i.textPosition.indexOf("inside")>=0,o=t.fill||"#000";sR(i,e);var a=null==i.textFill;return r?a&&(i.textFill=n.insideFill||"#fff",!i.textStroke&&n.insideStroke&&(i.textStroke=n.insideStroke),!i.textStroke&&(i.textStroke=o),null==i.textStrokeWidth&&(i.textStrokeWidth=2)):(a&&(i.textFill=t.fill||n.outsideFill||"#000"),!i.textStroke&&n.outsideStroke&&(i.textStroke=n.outsideStroke)),i.text=e.text,i.rich=e.rich,E(e.rich,(function(t){sR(t,t)})),i}function sR(t,e){e&&(_t(e,"fill")&&(t.textFill=e.fill),_t(e,"stroke")&&(t.textStroke=e.fill),_t(e,"lineWidth")&&(t.textStrokeWidth=e.lineWidth),_t(e,"font")&&(t.font=e.font),_t(e,"fontStyle")&&(t.fontStyle=e.fontStyle),_t(e,"fontWeight")&&(t.fontWeight=e.fontWeight),_t(e,"fontSize")&&(t.fontSize=e.fontSize),_t(e,"fontFamily")&&(t.fontFamily=e.fontFamily),_t(e,"align")&&(t.textAlign=e.align),_t(e,"verticalAlign")&&(t.textVerticalAlign=e.verticalAlign),_t(e,"lineHeight")&&(t.textLineHeight=e.lineHeight),_t(e,"width")&&(t.textWidth=e.width),_t(e,"height")&&(t.textHeight=e.height),_t(e,"backgroundColor")&&(t.textBackgroundColor=e.backgroundColor),_t(e,"padding")&&(t.textPadding=e.padding),_t(e,"borderColor")&&(t.textBorderColor=e.borderColor),_t(e,"borderWidth")&&(t.textBorderWidth=e.borderWidth),_t(e,"borderRadius")&&(t.textBorderRadius=e.borderRadius),_t(e,"shadowColor")&&(t.textBoxShadowColor=e.shadowColor),_t(e,"shadowBlur")&&(t.textBoxShadowBlur=e.shadowBlur),_t(e,"shadowOffsetX")&&(t.textBoxShadowOffsetX=e.shadowOffsetX),_t(e,"shadowOffsetY")&&(t.textBoxShadowOffsetY=e.shadowOffsetY),_t(e,"textShadowColor")&&(t.textShadowColor=e.textShadowColor),_t(e,"textShadowBlur")&&(t.textShadowBlur=e.textShadowBlur),_t(e,"textShadowOffsetX")&&(t.textShadowOffsetX=e.textShadowOffsetX),_t(e,"textShadowOffsetY")&&(t.textShadowOffsetY=e.textShadowOffsetY))}var lR={position:["x","y"],scale:["scaleX","scaleY"],origin:["originX","originY"]},uR=G(lR),hR=(V(mr,(function(t,e){return t[e]=1,t}),{}),mr.join(", "),["","style","shape","extra"]),cR=Vo();function pR(t,e,n,i,r){var o=t+"Animation",a=gh(t,i,r)||{},s=cR(e).userDuring;return a.duration>0&&(a.during=s?W(xR,{el:e,userDuring:s}):null,a.setToFinal=!0,a.scope=t),A(a,n[o]),a}function dR(t,e,n,i){var r=(i=i||{}).dataIndex,o=i.isInit,a=i.clearStyle,s=n.isAnimationEnabled(),l=cR(t),u=e.style;l.userDuring=e.during;var h={},c={};if(function(t,e,n){for(var i=0;i=0)){var c=t.getAnimationStyleProps(),p=c?c.style:null;if(p){!r&&(r=i.style={});var d=G(n);for(u=0;u0&&t.animateFrom(p,d)}else!function(t,e,n,i,r){if(r){var o=pR("update",t,e,i,n);o.duration>0&&t.animateFrom(r,o)}}(t,e,r||0,n,h);fR(t,e),u?t.dirty():t.markRedraw()}function fR(t,e){for(var n=cR(t).leaveToProps,i=0;i=0){!o&&(o=i[t]={});var p=G(a);for(h=0;hi[1]&&i.reverse(),{coordSys:{type:"polar",cx:t.cx,cy:t.cy,r:i[1],r0:i[0]},api:{coord:function(i){var r=e.dataToRadius(i[0]),o=n.dataToAngle(i[1]),a=t.coordToPoint([r,o]);return a.push(r,o*Math.PI/180),a},size:W(nR,t)}}},calendar:function(t){var e=t.getRect(),n=t.getRangeInfo();return{coordSys:{type:"calendar",x:e.x,y:e.y,width:e.width,height:e.height,cellWidth:t.getCellWidth(),cellHeight:t.getCellHeight(),rangeInfo:{start:n.start,end:n.end,weeks:n.weeks,dayCount:n.allDay}},api:{coord:function(e,n){return t.dataToPoint(e,n)}}}}};function zR(t){return t instanceof ks}function VR(t){return t instanceof Da}var BR=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.render=function(t,e,n,i){this._progressiveEls=null;var r=this._data,o=t.getData(),a=this.group,s=YR(t,o,e,n);r||a.removeAll(),o.diff(r).add((function(e){UR(n,null,e,s(e,i),t,a,o)})).remove((function(e){var n=r.getItemGraphicEl(e);n&&gR(n,$O(n).option,t)})).update((function(e,l){var u=r.getItemGraphicEl(l);UR(n,u,e,s(e,i),t,a,o)})).execute();var l=t.get("clip",!0)?PS(t.coordinateSystem,!1,t):null;l?a.setClipPath(l):a.removeClipPath(),this._data=o},e.prototype.incrementalPrepareRender=function(t,e,n){this.group.removeAll(),this._data=null},e.prototype.incrementalRender=function(t,e,n,i,r){var o=e.getData(),a=YR(e,o,n,i),s=this._progressiveEls=[];function l(t){t.isGroup||(t.incremental=!0,t.ensureState("emphasis").hoverLayer=!0)}for(var u=t.start;u=0?e.getStore().get(r,n):void 0}var o=e.get(i.name,n),a=i&&i.ordinalMeta;return a?a.categories[o]:o},styleEmphasis:function(n,i){0;null==i&&(i=s);var r=m(i,CR).getItemStyle(),o=x(i,CR),a=oc(o,null,null,!0,!0);a.text=o.getShallow("show")?ot(t.getFormattedLabel(i,CR),t.getFormattedLabel(i,DR),pS(e,i)):null;var l=ac(o,null,!0);return b(n,r),r=aR(r,a,l),n&&_(r,n),r.legacy=!0,r},visual:function(t,n){if(null==n&&(n=s),_t(qO,t)){var i=e.getItemVisual(n,"style");return i?i[qO[t]]:null}if(_t(KO,t))return e.getItemVisual(n,t)},barLayout:function(t){if("cartesian2d"===o.type){return function(t){var e=[],n=t.axis,i="axis0";if("category"===n.type){for(var r=n.getBandWidth(),o=0;o=c;f--){var g=e.childAt(f);JR(e,g,r)}}(t,c,n,i,r),a>=0?o.replaceAt(c,a):o.add(c),c}function jR(t,e,n){var i,r=$O(t),o=e.type,a=e.shape,s=e.style;return n.isUniversalTransitionEnabled()||null!=o&&o!==r.customGraphicType||"path"===o&&((i=a)&&(_t(i,"pathData")||_t(i,"d")))&&nN(a)!==r.customPathData||"image"===o&&_t(s,"image")&&s.image!==r.customImagePath}function qR(t,e,n){var i=e?KR(t,e):t,r=e?$R(t,i,CR):t.style,o=t.type,a=i?i.textConfig:null,s=t.textContent,l=s?e?KR(s,e):s:null;if(r&&(n.isLegacy||iR(r,o,!!a,!!l))){n.isLegacy=!0;var u=rR(r,o,!e);!a&&u.textConfig&&(a=u.textConfig),!l&&u.textContent&&(l=u.textContent)}if(!e&&l){var h=l;!h.type&&(h.type="text")}var c=e?n[e]:n.normal;c.cfg=a,c.conOpt=l}function KR(t,e){return e?t?t[e]:null:t}function $R(t,e,n){var i=e&&e.style;return null==i&&n===CR&&t&&(i=t.styleEmphasis),i}function JR(t,e,n){e&&gR(e,$O(t).option,n)}function QR(t,e){var n=t&&t.name;return null!=n?n:"e\0\0"+e}function tN(t,e){var n=this.context,i=null!=t?n.newChildren[t]:null,r=null!=e?n.oldChildren[e]:null;ZR(n.api,r,n.dataIndex,i,n.seriesModel,n.group)}function eN(t){var e=this.context,n=e.oldChildren[t];n&&gR(n,$O(n).option,e.seriesModel)}function nN(t){return t&&(t.pathData||t.d)}var iN=Vo(),rN=T,oN=W,aN=function(){function t(){this._dragging=!1,this.animationThreshold=15}return t.prototype.render=function(t,e,n,i){var r=e.get("value"),o=e.get("status");if(this._axisModel=t,this._axisPointerModel=e,this._api=n,i||this._lastValue!==r||this._lastStatus!==o){this._lastValue=r,this._lastStatus=o;var a=this._group,s=this._handle;if(!o||"hide"===o)return a&&a.hide(),void(s&&s.hide());a&&a.show(),s&&s.show();var l={};this.makeElOption(l,r,t,e,n);var u=l.graphicKey;u!==this._lastGraphicKey&&this.clear(n),this._lastGraphicKey=u;var h=this._moveAnimation=this.determineAnimation(t,e);if(a){var c=H(sN,e,h);this.updatePointerEl(a,l,c),this.updateLabelEl(a,l,c,e)}else a=this._group=new Br,this.createPointerEl(a,l,t,e),this.createLabelEl(a,l,t,e),n.getZr().add(a);cN(a,e,!0),this._renderHandle(r)}},t.prototype.remove=function(t){this.clear(t)},t.prototype.dispose=function(t){this.clear(t)},t.prototype.determineAnimation=function(t,e){var n=e.get("animation"),i=t.axis,r="category"===i.type,o=e.get("snap");if(!o&&!r)return!1;if("auto"===n||null==n){var a=this.animationThreshold;if(r&&i.getBandWidth()>a)return!0;if(o){var s=wI(t).seriesDataCount,l=i.getExtent();return Math.abs(l[0]-l[1])/s>a}return!1}return!0===n},t.prototype.makeElOption=function(t,e,n,i,r){},t.prototype.createPointerEl=function(t,e,n,i){var r=e.pointer;if(r){var o=iN(t).pointerEl=new Qh[r.type](rN(e.pointer));t.add(o)}},t.prototype.createLabelEl=function(t,e,n,i){if(e.label){var r=iN(t).labelEl=new Xs(rN(e.label));t.add(r),uN(r,i)}},t.prototype.updatePointerEl=function(t,e,n){var i=iN(t).pointerEl;i&&e.pointer&&(i.setStyle(e.pointer.style),n(i,{shape:e.pointer.shape}))},t.prototype.updateLabelEl=function(t,e,n,i){var r=iN(t).labelEl;r&&(r.setStyle(e.label.style),n(r,{x:e.label.x,y:e.label.y}),uN(r,i))},t.prototype._renderHandle=function(t){if(!this._dragging&&this.updateHandleTransform){var e,n=this._axisPointerModel,i=this._api.getZr(),r=this._handle,o=n.getModel("handle"),a=n.get("status");if(!o.get("show")||!a||"hide"===a)return r&&i.remove(r),void(this._handle=null);this._handle||(e=!0,r=this._handle=Uh(o.get("icon"),{cursor:"move",draggable:!0,onmousemove:function(t){de(t.event)},onmousedown:oN(this._onHandleDragMove,this,0,0),drift:oN(this._onHandleDragMove,this),ondragend:oN(this._onHandleDragEnd,this)}),i.add(r)),cN(r,n,!1),r.setStyle(o.getItemStyle(null,["color","borderColor","borderWidth","opacity","shadowColor","shadowBlur","shadowOffsetX","shadowOffsetY"]));var s=o.get("size");Y(s)||(s=[s,s]),r.scaleX=s[0]/2,r.scaleY=s[1]/2,Hg(this,"_doDispatchAxisPointer",o.get("throttle")||0,"fixRate"),this._moveHandleToValue(t,e)}},t.prototype._moveHandleToValue=function(t,e){sN(this._axisPointerModel,!e&&this._moveAnimation,this._handle,hN(this.getHandleTransform(t,this._axisModel,this._axisPointerModel)))},t.prototype._onHandleDragMove=function(t,e){var n=this._handle;if(n){this._dragging=!0;var i=this.updateHandleTransform(hN(n),[t,e],this._axisModel,this._axisPointerModel);this._payloadInfo=i,n.stopAnimation(),n.attr(hN(i)),iN(n).lastProp=null,this._doDispatchAxisPointer()}},t.prototype._doDispatchAxisPointer=function(){if(this._handle){var t=this._payloadInfo,e=this._axisModel;this._api.dispatchAction({type:"updateAxisPointer",x:t.cursorPoint[0],y:t.cursorPoint[1],tooltipOption:t.tooltipOption,axesInfo:[{axisDim:e.axis.dim,axisIndex:e.componentIndex}]})}},t.prototype._onHandleDragEnd=function(){if(this._dragging=!1,this._handle){var t=this._axisPointerModel.get("value");this._moveHandleToValue(t),this._api.dispatchAction({type:"hideTip"})}},t.prototype.clear=function(t){this._lastValue=null,this._lastStatus=null;var e=t.getZr(),n=this._group,i=this._handle;e&&n&&(this._lastGraphicKey=null,n&&e.remove(n),i&&e.remove(i),this._group=null,this._handle=null,this._payloadInfo=null),Yg(this,"_doDispatchAxisPointer")},t.prototype.doClear=function(){},t.prototype.buildLabel=function(t,e,n){return{x:t[n=n||0],y:t[1-n],width:e[n],height:e[1-n]}},t}();function sN(t,e,n,i){lN(iN(n).lastProp,i)||(iN(n).lastProp=i,e?vh(n,i,t):(n.stopAnimation(),n.attr(i)))}function lN(t,e){if(q(t)&&q(e)){var n=!0;return E(e,(function(e,i){n=n&&lN(t[i],e)})),!!n}return t===e}function uN(t,e){t[e.get(["label","show"])?"show":"hide"]()}function hN(t){return{x:t.x||0,y:t.y||0,rotation:t.rotation||0}}function cN(t,e,n){var i=e.get("z"),r=e.get("zlevel");t&&t.traverse((function(t){"group"!==t.type&&(null!=i&&(t.z=i),null!=r&&(t.zlevel=r),t.silent=n)}))}function pN(t){var e,n=t.get("type"),i=t.getModel(n+"Style");return"line"===n?(e=i.getLineStyle()).fill=null:"shadow"===n&&((e=i.getAreaStyle()).stroke=null),e}function dN(t,e,n,i,r){var o=fN(n.get("value"),e.axis,e.ecModel,n.get("seriesDataIndices"),{precision:n.get(["label","precision"]),formatter:n.get(["label","formatter"])}),a=n.getModel("label"),s=vp(a.get("padding")||0),l=a.getFont(),u=Sr(o,l),h=r.position,c=u.width+s[1]+s[3],p=u.height+s[0]+s[2],d=r.align;"right"===d&&(h[0]-=c),"center"===d&&(h[0]-=c/2);var f=r.verticalAlign;"bottom"===f&&(h[1]-=p),"middle"===f&&(h[1]-=p/2),function(t,e,n,i){var r=i.getWidth(),o=i.getHeight();t[0]=Math.min(t[0]+e,r)-e,t[1]=Math.min(t[1]+n,o)-n,t[0]=Math.max(t[0],0),t[1]=Math.max(t[1],0)}(h,c,p,i);var g=a.get("backgroundColor");g&&"auto"!==g||(g=e.get(["axisLine","lineStyle","color"])),t.label={x:h[0],y:h[1],style:oc(a,{text:o,font:l,fill:a.getTextColor(),padding:s,backgroundColor:g}),z2:10}}function fN(t,e,n,i,r){t=e.scale.parse(t);var o=e.scale.getLabel({value:t},{precision:r.precision}),a=r.formatter;if(a){var s={value:S_(e,{value:t}),axisDimension:e.dim,axisIndex:e.index,seriesData:[]};E(i,(function(t){var e=n.getSeriesByIndex(t.seriesIndex),i=t.dataIndexInside,r=e&&e.getDataParams(i);r&&s.seriesData.push(r)})),U(a)?o=a.replace("{value}",o):X(a)&&(o=a(s))}return o}function gN(t,e,n){var i=[1,0,0,1,0,0];return Se(i,i,n.rotation),we(i,i,n.position),Fh([t.dataToCoord(e),(n.labelOffset||0)+(n.labelDirection||1)*(n.labelMargin||0)],i)}function yN(t,e,n,i,r,o){var a=dI.innerTextLayout(n.rotation,0,n.labelDirection);n.labelMargin=r.get(["label","margin"]),dN(e,i,r,o,{position:gN(i.axis,t,n),align:a.textAlign,verticalAlign:a.textVerticalAlign})}function vN(t,e,n){return{x1:t[n=n||0],y1:t[1-n],x2:e[n],y2:e[1-n]}}function mN(t,e,n){return{x:t[n=n||0],y:t[1-n],width:e[n],height:e[1-n]}}function xN(t,e,n,i,r,o){return{cx:t,cy:e,r0:n,r:i,startAngle:r,endAngle:o,clockwise:!0}}var _N=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n(e,t),e.prototype.makeElOption=function(t,e,n,i,r){var o=n.axis,a=o.grid,s=i.get("type"),l=bN(a,o).getOtherAxis(o).getGlobalExtent(),u=o.toGlobalCoord(o.dataToCoord(e,!0));if(s&&"none"!==s){var h=pN(i),c=wN[s](o,u,l);c.style=h,t.graphicKey=c.type,t.pointer=c}yN(e,t,iI(a.model,n),n,i,r)},e.prototype.getHandleTransform=function(t,e,n){var i=iI(e.axis.grid.model,e,{labelInside:!1});i.labelMargin=n.get(["handle","margin"]);var r=gN(e.axis,t,i);return{x:r[0],y:r[1],rotation:i.rotation+(i.labelDirection<0?Math.PI:0)}},e.prototype.updateHandleTransform=function(t,e,n,i){var r=n.axis,o=r.grid,a=r.getGlobalExtent(!0),s=bN(o,r).getOtherAxis(r).getGlobalExtent(),l="x"===r.dim?0:1,u=[t.x,t.y];u[l]+=e[l],u[l]=Math.min(a[1],u[l]),u[l]=Math.max(a[0],u[l]);var h=(s[1]+s[0])/2,c=[h,h];c[l]=u[l];return{x:u[0],y:u[1],rotation:t.rotation,cursorPoint:c,tooltipOption:[{verticalAlign:"middle"},{align:"center"}][l]}},e}(aN);function bN(t,e){var n={};return n[e.dim+"AxisIndex"]=e.index,t.getCartesian(n)}var wN={line:function(t,e,n){return{type:"Line",subPixelOptimize:!0,shape:vN([e,n[0]],[e,n[1]],SN(t))}},shadow:function(t,e,n){var i=Math.max(1,t.getBandWidth()),r=n[1]-n[0];return{type:"Rect",shape:mN([e-i/2,n[0]],[i,r],SN(t))}}};function SN(t){return"x"===t.dim?0:1}var MN=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.type="axisPointer",e.defaultOption={show:"auto",z:50,type:"line",snap:!1,triggerTooltip:!0,triggerEmphasis:!0,value:null,status:null,link:[],animation:null,animationDurationUpdate:200,lineStyle:{color:"#B9BEC9",width:1,type:"dashed"},shadowStyle:{color:"rgba(210,219,238,0.2)"},label:{show:!0,formatter:null,precision:"auto",margin:3,color:"#fff",padding:[5,7,5,7],backgroundColor:"auto",borderColor:null,borderWidth:0,borderRadius:3},handle:{show:!1,icon:"M10.7,11.9v-1.3H9.3v1.3c-4.9,0.3-8.8,4.4-8.8,9.4c0,5,3.9,9.1,8.8,9.4h1.3c4.9-0.3,8.8-4.4,8.8-9.4C19.5,16.3,15.6,12.2,10.7,11.9z M13.3,24.4H6.7v-1.2h6.6z M13.3,22H6.7v-1.2h6.6z M13.3,19.6H6.7v-1.2h6.6z",size:45,margin:50,color:"#333",shadowBlur:3,shadowColor:"#aaa",shadowOffsetX:0,shadowOffsetY:2,throttle:40}},e}(zp),IN=Vo(),TN=E;function CN(t,e,n){if(!r.node){var i=e.getZr();IN(i).records||(IN(i).records={}),function(t,e){if(IN(t).initialized)return;function n(n,i){t.on(n,(function(n){var r=function(t){var e={showTip:[],hideTip:[]},n=function(i){var r=e[i.type];r?r.push(i):(i.dispatchAction=n,t.dispatchAction(i))};return{dispatchAction:n,pendings:e}}(e);TN(IN(t).records,(function(t){t&&i(t,n,r.dispatchAction)})),function(t,e){var n,i=t.showTip.length,r=t.hideTip.length;i?n=t.showTip[i-1]:r&&(n=t.hideTip[r-1]);n&&(n.dispatchAction=null,e.dispatchAction(n))}(r.pendings,e)}))}IN(t).initialized=!0,n("click",H(AN,"click")),n("mousemove",H(AN,"mousemove")),n("globalout",DN)}(i,e),(IN(i).records[t]||(IN(i).records[t]={})).handler=n}}function DN(t,e,n){t.handler("leave",null,n)}function AN(t,e,n,i){e.handler(t,n,i)}function kN(t,e){if(!r.node){var n=e.getZr();(IN(n).records||{})[t]&&(IN(n).records[t]=null)}}var LN=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.render=function(t,e,n){var i=e.getComponent("tooltip"),r=t.get("triggerOn")||i&&i.get("triggerOn")||"mousemove|click";CN("axisPointer",n,(function(t,e,n){"none"!==r&&("leave"===t||r.indexOf(t)>=0)&&n({type:"updateAxisPointer",currTrigger:t,x:e&&e.offsetX,y:e&&e.offsetY})}))},e.prototype.remove=function(t,e){kN("axisPointer",e)},e.prototype.dispose=function(t,e){kN("axisPointer",e)},e.type="axisPointer",e}(Ag);function PN(t,e){var n,i=[],r=t.seriesIndex;if(null==r||!(n=e.getSeriesByIndex(r)))return{point:[]};var o=n.getData(),a=zo(o,t);if(null==a||a<0||Y(a))return{point:[]};var s=o.getItemGraphicEl(a),l=n.coordinateSystem;if(n.getTooltipPosition)i=n.getTooltipPosition(a)||[];else if(l&&l.dataToPoint)if(t.isStacked){var u=l.getBaseAxis(),h=l.getOtherAxis(u).dim,c=u.dim,p="x"===h||"radius"===h?1:0,d=o.mapDimension(c),f=[];f[p]=o.get(d,a),f[1-p]=o.get(o.getCalculationInfo("stackResultDimension"),a),i=l.dataToPoint(f)||[]}else i=l.dataToPoint(o.getValues(z(l.dimensions,(function(t){return o.mapDimension(t)})),a))||[];else if(s){var g=s.getBoundingRect().clone();g.applyTransform(s.transform),i=[g.x+g.width/2,g.y+g.height/2]}return{point:i,el:s}}var ON=Vo();function RN(t,e,n){var i=t.currTrigger,r=[t.x,t.y],o=t,a=t.dispatchAction||W(n.dispatchAction,n),s=e.getComponent("axisPointer").coordSysAxesInfo;if(s){BN(r)&&(r=PN({seriesIndex:o.seriesIndex,dataIndex:o.dataIndex},e).point);var l=BN(r),u=o.axesInfo,h=s.axesInfo,c="leave"===i||BN(r),p={},d={},f={list:[],map:{}},g={showPointer:H(EN,d),showTooltip:H(zN,f)};E(s.coordSysMap,(function(t,e){var n=l||t.containPoint(r);E(s.coordSysAxesInfo[e],(function(t,e){var i=t.axis,o=function(t,e){for(var n=0;n<(t||[]).length;n++){var i=t[n];if(e.axis.dim===i.axisDim&&e.axis.model.componentIndex===i.axisIndex)return i}}(u,t);if(!c&&n&&(!u||o)){var a=o&&o.value;null!=a||l||(a=i.pointToData(r)),null!=a&&NN(t,a,g,!1,p)}}))}));var y={};return E(h,(function(t,e){var n=t.linkGroup;n&&!d[e]&&E(n.axesInfo,(function(e,i){var r=d[i];if(e!==t&&r){var o=r.value;n.mapper&&(o=t.axis.scale.parse(n.mapper(o,VN(e),VN(t)))),y[t.key]=o}}))})),E(y,(function(t,e){NN(h[e],t,g,!0,p)})),function(t,e,n){var i=n.axesInfo=[];E(e,(function(e,n){var r=e.axisPointerModel.option,o=t[n];o?(!e.useHandle&&(r.status="show"),r.value=o.value,r.seriesDataIndices=(o.payloadBatch||[]).slice()):!e.useHandle&&(r.status="hide"),"show"===r.status&&i.push({axisDim:e.axis.dim,axisIndex:e.axis.model.componentIndex,value:r.value})}))}(d,h,p),function(t,e,n,i){if(BN(e)||!t.list.length)return void i({type:"hideTip"});var r=((t.list[0].dataByAxis[0]||{}).seriesDataIndices||[])[0]||{};i({type:"showTip",escapeConnect:!0,x:e[0],y:e[1],tooltipOption:n.tooltipOption,position:n.position,dataIndexInside:r.dataIndexInside,dataIndex:r.dataIndex,seriesIndex:r.seriesIndex,dataByCoordSys:t.list})}(f,r,t,a),function(t,e,n){var i=n.getZr(),r="axisPointerLastHighlights",o=ON(i)[r]||{},a=ON(i)[r]={};E(t,(function(t,e){var n=t.axisPointerModel.option;"show"===n.status&&t.triggerEmphasis&&E(n.seriesDataIndices,(function(t){var e=t.seriesIndex+" | "+t.dataIndex;a[e]=t}))}));var s=[],l=[];E(o,(function(t,e){!a[e]&&l.push(t)})),E(a,(function(t,e){!o[e]&&s.push(t)})),l.length&&n.dispatchAction({type:"downplay",escapeConnect:!0,notBlur:!0,batch:l}),s.length&&n.dispatchAction({type:"highlight",escapeConnect:!0,notBlur:!0,batch:s})}(h,0,n),p}}function NN(t,e,n,i,r){var o=t.axis;if(!o.scale.isBlank()&&o.containData(e))if(t.involveSeries){var a=function(t,e){var n=e.axis,i=n.dim,r=t,o=[],a=Number.MAX_VALUE,s=-1;return E(e.seriesModels,(function(e,l){var u,h,c=e.getData().mapDimensionsAll(i);if(e.getAxisTooltipData){var p=e.getAxisTooltipData(c,t,n);h=p.dataIndices,u=p.nestestValue}else{if(!(h=e.getData().indicesOfNearest(c[0],t,"category"===n.type?.5:null)).length)return;u=e.getData().get(c[0],h[0])}if(null!=u&&isFinite(u)){var d=t-u,f=Math.abs(d);f<=a&&((f=0&&s<0)&&(a=f,s=d,r=u,o.length=0),E(h,(function(t){o.push({seriesIndex:e.seriesIndex,dataIndexInside:t,dataIndex:e.getData().getRawIndex(t)})})))}})),{payloadBatch:o,snapToValue:r}}(e,t),s=a.payloadBatch,l=a.snapToValue;s[0]&&null==r.seriesIndex&&A(r,s[0]),!i&&t.snap&&o.containData(l)&&null!=l&&(e=l),n.showPointer(t,e,s),n.showTooltip(t,a,l)}else n.showPointer(t,e)}function EN(t,e,n,i){t[e.key]={value:n,payloadBatch:i}}function zN(t,e,n,i){var r=n.payloadBatch,o=e.axis,a=o.model,s=e.axisPointerModel;if(e.triggerTooltip&&r.length){var l=e.coordSys.model,u=MI(l),h=t.map[u];h||(h=t.map[u]={coordSysId:l.id,coordSysIndex:l.componentIndex,coordSysType:l.type,coordSysMainType:l.mainType,dataByAxis:[]},t.list.push(h)),h.dataByAxis.push({axisDim:o.dim,axisIndex:a.componentIndex,axisType:a.type,axisId:a.id,value:i,valueLabelOpt:{precision:s.get(["label","precision"]),formatter:s.get(["label","formatter"])},seriesDataIndices:r.slice()})}}function VN(t){var e=t.axis.model,n={},i=n.axisDim=t.axis.dim;return n.axisIndex=n[i+"AxisIndex"]=e.componentIndex,n.axisName=n[i+"AxisName"]=e.name,n.axisId=n[i+"AxisId"]=e.id,n}function BN(t){return!t||null==t[0]||isNaN(t[0])||null==t[1]||isNaN(t[1])}function FN(t){TI.registerAxisPointerClass("CartesianAxisPointer",_N),t.registerComponentModel(MN),t.registerComponentView(LN),t.registerPreprocessor((function(t){if(t){(!t.axisPointer||0===t.axisPointer.length)&&(t.axisPointer={});var e=t.axisPointer.link;e&&!Y(e)&&(t.axisPointer.link=[e])}})),t.registerProcessor(t.PRIORITY.PROCESSOR.STATISTIC,(function(t,e){t.getComponent("axisPointer").coordSysAxesInfo=xI(t,e)})),t.registerAction({type:"updateAxisPointer",event:"updateAxisPointer",update:":updateAxisPointer"},RN)}var GN=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n(e,t),e.prototype.makeElOption=function(t,e,n,i,r){var o=n.axis;"angle"===o.dim&&(this.animationThreshold=Math.PI/18);var a=o.polar,s=a.getOtherAxis(o).getExtent(),l=o.dataToCoord(e),u=i.get("type");if(u&&"none"!==u){var h=pN(i),c=WN[u](o,a,l,s);c.style=h,t.graphicKey=c.type,t.pointer=c}var p=function(t,e,n,i,r){var o=e.axis,a=o.dataToCoord(t),s=i.getAngleAxis().getExtent()[0];s=s/180*Math.PI;var l,u,h,c=i.getRadiusAxis().getExtent();if("radius"===o.dim){var p=[1,0,0,1,0,0];Se(p,p,s),we(p,p,[i.cx,i.cy]),l=Fh([a,-r],p);var d=e.getModel("axisLabel").get("rotate")||0,f=dI.innerTextLayout(s,d*Math.PI/180,-1);u=f.textAlign,h=f.textVerticalAlign}else{var g=c[1];l=i.coordToPoint([g+r,a]);var y=i.cx,v=i.cy;u=Math.abs(l[0]-y)/g<.3?"center":l[0]>y?"left":"right",h=Math.abs(l[1]-v)/g<.3?"middle":l[1]>v?"top":"bottom"}return{position:l,align:u,verticalAlign:h}}(e,n,0,a,i.get(["label","margin"]));dN(t,n,i,r,p)},e}(aN);var WN={line:function(t,e,n,i){return"angle"===t.dim?{type:"Line",shape:vN(e.coordToPoint([i[0],n]),e.coordToPoint([i[1],n]))}:{type:"Circle",shape:{cx:e.cx,cy:e.cy,r:n}}},shadow:function(t,e,n,i){var r=Math.max(1,t.getBandWidth()),o=Math.PI/180;return"angle"===t.dim?{type:"Sector",shape:xN(e.cx,e.cy,i[0],i[1],(-n-r/2)*o,(r/2-n)*o)}:{type:"Sector",shape:xN(e.cx,e.cy,n-r/2,n+r/2,0,2*Math.PI)}}},HN=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.findAxisModel=function(t){var e;return this.ecModel.eachComponent(t,(function(t){t.getCoordSysModel()===this&&(e=t)}),this),e},e.type="polar",e.dependencies=["radiusAxis","angleAxis"],e.defaultOption={z:0,center:["50%","50%"],radius:"80%"},e}(zp),YN=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n(e,t),e.prototype.getCoordSysModel=function(){return this.getReferringComponents("polar",Wo).models[0]},e.type="polarAxis",e}(zp);R(YN,D_);var XN=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.type="angleAxis",e}(YN),UN=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.type="radiusAxis",e}(YN),ZN=function(t){function e(e,n){return t.call(this,"radius",e,n)||this}return n(e,t),e.prototype.pointToData=function(t,e){return this.polar.pointToData(t,e)["radius"===this.dim?0:1]},e}(ab);ZN.prototype.dataToRadius=ab.prototype.dataToCoord,ZN.prototype.radiusToData=ab.prototype.coordToData;var jN=Vo(),qN=function(t){function e(e,n){return t.call(this,"angle",e,n||[0,360])||this}return n(e,t),e.prototype.pointToData=function(t,e){return this.polar.pointToData(t,e)["radius"===this.dim?0:1]},e.prototype.calculateCategoryInterval=function(){var t=this,e=t.getLabelModel(),n=t.scale,i=n.getExtent(),r=n.count();if(i[1]-i[0]<1)return 0;var o=i[0],a=t.dataToCoord(o+1)-t.dataToCoord(o),s=Math.abs(a),l=Sr(null==o?"":o+"",e.getFont(),"center","top"),u=Math.max(l.height,7)/s;isNaN(u)&&(u=1/0);var h=Math.max(0,Math.floor(u)),c=jN(t.model),p=c.lastAutoInterval,d=c.lastTickCount;return null!=p&&null!=d&&Math.abs(p-h)<=1&&Math.abs(d-r)<=1&&p>h?h=p:(c.lastTickCount=r,c.lastAutoInterval=h),h},e}(ab);qN.prototype.dataToAngle=ab.prototype.dataToCoord,qN.prototype.angleToData=ab.prototype.coordToData;var KN=["radius","angle"],$N=function(){function t(t){this.dimensions=KN,this.type="polar",this.cx=0,this.cy=0,this._radiusAxis=new ZN,this._angleAxis=new qN,this.axisPointerEnabled=!0,this.name=t||"",this._radiusAxis.polar=this._angleAxis.polar=this}return t.prototype.containPoint=function(t){var e=this.pointToCoord(t);return this._radiusAxis.contain(e[0])&&this._angleAxis.contain(e[1])},t.prototype.containData=function(t){return this._radiusAxis.containData(t[0])&&this._angleAxis.containData(t[1])},t.prototype.getAxis=function(t){return this["_"+t+"Axis"]},t.prototype.getAxes=function(){return[this._radiusAxis,this._angleAxis]},t.prototype.getAxesByScale=function(t){var e=[],n=this._angleAxis,i=this._radiusAxis;return n.scale.type===t&&e.push(n),i.scale.type===t&&e.push(i),e},t.prototype.getAngleAxis=function(){return this._angleAxis},t.prototype.getRadiusAxis=function(){return this._radiusAxis},t.prototype.getOtherAxis=function(t){var e=this._angleAxis;return t===e?this._radiusAxis:e},t.prototype.getBaseAxis=function(){return this.getAxesByScale("ordinal")[0]||this.getAxesByScale("time")[0]||this.getAngleAxis()},t.prototype.getTooltipAxes=function(t){var e=null!=t&&"auto"!==t?this.getAxis(t):this.getBaseAxis();return{baseAxes:[e],otherAxes:[this.getOtherAxis(e)]}},t.prototype.dataToPoint=function(t,e){return this.coordToPoint([this._radiusAxis.dataToRadius(t[0],e),this._angleAxis.dataToAngle(t[1],e)])},t.prototype.pointToData=function(t,e){var n=this.pointToCoord(t);return[this._radiusAxis.radiusToData(n[0],e),this._angleAxis.angleToData(n[1],e)]},t.prototype.pointToCoord=function(t){var e=t[0]-this.cx,n=t[1]-this.cy,i=this.getAngleAxis(),r=i.getExtent(),o=Math.min(r[0],r[1]),a=Math.max(r[0],r[1]);i.inverse?o=a-360:a=o+360;var s=Math.sqrt(e*e+n*n);e/=s,n/=s;for(var l=Math.atan2(-n,e)/Math.PI*180,u=la;)l+=360*u;return[s,l]},t.prototype.coordToPoint=function(t){var e=t[0],n=t[1]/180*Math.PI;return[Math.cos(n)*e+this.cx,-Math.sin(n)*e+this.cy]},t.prototype.getArea=function(){var t=this.getAngleAxis(),e=this.getRadiusAxis().getExtent().slice();e[0]>e[1]&&e.reverse();var n=t.getExtent(),i=Math.PI/180;return{cx:this.cx,cy:this.cy,r0:e[0],r:e[1],startAngle:-n[0]*i,endAngle:-n[1]*i,clockwise:t.inverse,contain:function(t,e){var n=t-this.cx,i=e-this.cy,r=n*n+i*i-1e-4,o=this.r,a=this.r0;return r<=o*o&&r>=a*a}}},t.prototype.convertToPixel=function(t,e,n){return JN(e)===this?this.dataToPoint(n):null},t.prototype.convertFromPixel=function(t,e,n){return JN(e)===this?this.pointToData(n):null},t}();function JN(t){var e=t.seriesModel,n=t.polarModel;return n&&n.coordinateSystem||e&&e.coordinateSystem}function QN(t,e){var n=this,i=n.getAngleAxis(),r=n.getRadiusAxis();if(i.scale.setExtent(1/0,-1/0),r.scale.setExtent(1/0,-1/0),t.eachSeries((function(t){if(t.coordinateSystem===n){var e=t.getData();E(C_(e,"radius"),(function(t){r.scale.unionExtentFromData(e,t)})),E(C_(e,"angle"),(function(t){i.scale.unionExtentFromData(e,t)}))}})),__(i.scale,i.model),__(r.scale,r.model),"category"===i.type&&!i.onBand){var o=i.getExtent(),a=360/i.scale.count();i.inverse?o[1]+=a:o[1]-=a,i.setExtent(o[0],o[1])}}function tE(t,e){var n;if(t.type=e.get("type"),t.scale=b_(e),t.onBand=e.get("boundaryGap")&&"category"===t.type,t.inverse=e.get("inverse"),function(t){return"angleAxis"===t.mainType}(e)){t.inverse=t.inverse!==e.get("clockwise");var i=e.get("startAngle"),r=null!==(n=e.get("endAngle"))&&void 0!==n?n:i+(t.inverse?-360:360);t.setExtent(i,r)}e.axis=t,t.model=e}var eE={dimensions:KN,create:function(t,e){var n=[];return t.eachComponent("polar",(function(t,i){var r=new $N(i+"");r.update=QN;var o=r.getRadiusAxis(),a=r.getAngleAxis(),s=t.findAxisModel("radiusAxis"),l=t.findAxisModel("angleAxis");tE(o,s),tE(a,l),function(t,e,n){var i=e.get("center"),r=n.getWidth(),o=n.getHeight();t.cx=$r(i[0],r),t.cy=$r(i[1],o);var a=t.getRadiusAxis(),s=Math.min(r,o)/2,l=e.get("radius");null==l?l=[0,"100%"]:Y(l)||(l=[0,l]);var u=[$r(l[0],s),$r(l[1],s)];a.inverse?a.setExtent(u[1],u[0]):a.setExtent(u[0],u[1])}(r,t,e),n.push(r),t.coordinateSystem=r,r.model=t})),t.eachSeries((function(t){if("polar"===t.get("coordinateSystem")){var e=t.getReferringComponents("polar",Wo).models[0];0,t.coordinateSystem=e.coordinateSystem}})),n}},nE=["axisLine","axisLabel","axisTick","minorTick","splitLine","minorSplitLine","splitArea"];function iE(t,e,n){e[1]>e[0]&&(e=e.slice().reverse());var i=t.coordToPoint([e[0],n]),r=t.coordToPoint([e[1],n]);return{x1:i[0],y1:i[1],x2:r[0],y2:r[1]}}function rE(t){return t.getRadiusAxis().inverse?0:1}function oE(t){var e=t[0],n=t[t.length-1];e&&n&&Math.abs(Math.abs(e.coord-n.coord)-360)<1e-4&&t.pop()}var aE=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n.axisPointerClass="PolarAxisPointer",n}return n(e,t),e.prototype.render=function(t,e){if(this.group.removeAll(),t.get("show")){var n=t.axis,i=n.polar,r=i.getRadiusAxis().getExtent(),o=n.getTicksCoords(),a=n.getMinorTicksCoords(),s=z(n.getViewLabels(),(function(t){t=T(t);var e=n.scale,i="ordinal"===e.type?e.getRawOrdinalNumber(t.tickValue):t.tickValue;return t.coord=n.dataToCoord(i),t}));oE(s),oE(o),E(nE,(function(e){!t.get([e,"show"])||n.scale.isBlank()&&"axisLine"!==e||sE[e](this.group,t,i,o,a,r,s)}),this)}},e.type="angleAxis",e}(TI),sE={axisLine:function(t,e,n,i,r,o){var a,s=e.getModel(["axisLine","lineStyle"]),l=n.getAngleAxis(),u=Math.PI/180,h=l.getExtent(),c=rE(n),p=c?0:1,d=360===Math.abs(h[1]-h[0])?"Circle":"Arc";(a=0===o[p]?new Qh[d]({shape:{cx:n.cx,cy:n.cy,r:o[c],startAngle:-h[0]*u,endAngle:-h[1]*u,clockwise:l.inverse},style:s.getLineStyle(),z2:1,silent:!0}):new Wu({shape:{cx:n.cx,cy:n.cy,r:o[c],r0:o[p]},style:s.getLineStyle(),z2:1,silent:!0})).style.fill=null,t.add(a)},axisTick:function(t,e,n,i,r,o){var a=e.getModel("axisTick"),s=(a.get("inside")?-1:1)*a.get("length"),l=o[rE(n)],u=z(i,(function(t){return new Ku({shape:iE(n,[l,l+s],t.coord)})}));t.add(Nh(u,{style:k(a.getModel("lineStyle").getLineStyle(),{stroke:e.get(["axisLine","lineStyle","color"])})}))},minorTick:function(t,e,n,i,r,o){if(r.length){for(var a=e.getModel("axisTick"),s=e.getModel("minorTick"),l=(a.get("inside")?-1:1)*s.get("length"),u=o[rE(n)],h=[],c=0;cf?"left":"right",v=Math.abs(d[1]-g)/p<.3?"middle":d[1]>g?"top":"bottom";if(s&&s[c]){var m=s[c];q(m)&&m.textStyle&&(a=new Cc(m.textStyle,l,l.ecModel))}var x=new Xs({silent:dI.isLabelSilent(e),style:oc(a,{x:d[0],y:d[1],fill:a.getTextColor()||e.get(["axisLine","lineStyle","color"]),text:i.formattedLabel,align:y,verticalAlign:v})});if(t.add(x),h){var _=dI.makeAxisEventDataBase(e);_.targetType="axisLabel",_.value=i.rawLabel,rl(x).eventData=_}}),this)},splitLine:function(t,e,n,i,r,o){var a=e.getModel("splitLine").getModel("lineStyle"),s=a.get("color"),l=0;s=s instanceof Array?s:[s];for(var u=[],h=0;h=0?"p":"n",C=b;m&&(i[s][I]||(i[s][I]={p:b,n:b}),C=i[s][I][T]);var D=void 0,A=void 0,k=void 0,L=void 0;if("radius"===c.dim){var P=c.dataToCoord(M)-b,O=o.dataToCoord(I);Math.abs(P)=L})}}}))}var gE={startAngle:90,clockwise:!0,splitNumber:12,axisLabel:{rotate:0}},yE={splitNumber:5},vE=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.type="polar",e}(Ag);function mE(t,e){e=e||{};var n=t.coordinateSystem,i=t.axis,r={},o=i.position,a=i.orient,s=n.getRect(),l=[s.x,s.x+s.width,s.y,s.y+s.height],u={horizontal:{top:l[2],bottom:l[3]},vertical:{left:l[0],right:l[1]}};r.position=["vertical"===a?u.vertical[o]:l[0],"horizontal"===a?u.horizontal[o]:l[3]];r.rotation=Math.PI/2*{horizontal:0,vertical:1}[a];r.labelDirection=r.tickDirection=r.nameDirection={top:-1,bottom:1,right:1,left:-1}[o],t.get(["axisTick","inside"])&&(r.tickDirection=-r.tickDirection),it(e.labelInside,t.get(["axisLabel","inside"]))&&(r.labelDirection=-r.labelDirection);var h=e.rotate;return null==h&&(h=t.get(["axisLabel","rotate"])),r.labelRotation="top"===o?-h:h,r.z2=1,r}var xE=["axisLine","axisTickLabel","axisName"],_E=["splitArea","splitLine"],bE=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n.axisPointerClass="SingleAxisPointer",n}return n(e,t),e.prototype.render=function(e,n,i,r){var o=this.group;o.removeAll();var a=this._axisGroup;this._axisGroup=new Br;var s=mE(e),l=new dI(e,s);E(xE,l.add,l),o.add(this._axisGroup),o.add(l.getGroup()),E(_E,(function(t){e.get([t,"show"])&&wE[t](this,this.group,this._axisGroup,e)}),this),Hh(a,this._axisGroup,e),t.prototype.render.call(this,e,n,i,r)},e.prototype.remove=function(){AI(this)},e.type="singleAxis",e}(TI),wE={splitLine:function(t,e,n,i){var r=i.axis;if(!r.scale.isBlank()){var o=i.getModel("splitLine"),a=o.getModel("lineStyle"),s=a.get("color");s=s instanceof Array?s:[s];for(var l=a.get("width"),u=i.coordinateSystem.getRect(),h=r.isHorizontal(),c=[],p=0,d=r.getTicksCoords({tickModel:o}),f=[],g=[],y=0;y=e.y&&t[1]<=e.y+e.height:n.contain(n.toLocalCoord(t[1]))&&t[0]>=e.y&&t[0]<=e.y+e.height},t.prototype.pointToData=function(t){var e=this.getAxis();return[e.coordToData(e.toLocalCoord(t["horizontal"===e.orient?0:1]))]},t.prototype.dataToPoint=function(t){var e=this.getAxis(),n=this.getRect(),i=[],r="horizontal"===e.orient?0:1;return t instanceof Array&&(t=t[0]),i[r]=e.toGlobalCoord(e.dataToCoord(+t)),i[1-r]=0===r?n.y+n.height/2:n.x+n.width/2,i},t.prototype.convertToPixel=function(t,e,n){return CE(e)===this?this.dataToPoint(n):null},t.prototype.convertFromPixel=function(t,e,n){return CE(e)===this?this.pointToData(n):null},t}();function CE(t){var e=t.seriesModel,n=t.singleAxisModel;return n&&n.coordinateSystem||e&&e.coordinateSystem}var DE={create:function(t,e){var n=[];return t.eachComponent("singleAxis",(function(i,r){var o=new TE(i,t,e);o.name="single_"+r,o.resize(i,e),i.coordinateSystem=o,n.push(o)})),t.eachSeries((function(t){if("singleAxis"===t.get("coordinateSystem")){var e=t.getReferringComponents("singleAxis",Wo).models[0];t.coordinateSystem=e&&e.coordinateSystem}})),n},dimensions:IE},AE=["x","y"],kE=["width","height"],LE=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n(e,t),e.prototype.makeElOption=function(t,e,n,i,r){var o=n.axis,a=o.coordinateSystem,s=RE(a,1-OE(o)),l=a.dataToPoint(e)[0],u=i.get("type");if(u&&"none"!==u){var h=pN(i),c=PE[u](o,l,s);c.style=h,t.graphicKey=c.type,t.pointer=c}yN(e,t,mE(n),n,i,r)},e.prototype.getHandleTransform=function(t,e,n){var i=mE(e,{labelInside:!1});i.labelMargin=n.get(["handle","margin"]);var r=gN(e.axis,t,i);return{x:r[0],y:r[1],rotation:i.rotation+(i.labelDirection<0?Math.PI:0)}},e.prototype.updateHandleTransform=function(t,e,n,i){var r=n.axis,o=r.coordinateSystem,a=OE(r),s=RE(o,a),l=[t.x,t.y];l[a]+=e[a],l[a]=Math.min(s[1],l[a]),l[a]=Math.max(s[0],l[a]);var u=RE(o,1-a),h=(u[1]+u[0])/2,c=[h,h];return c[a]=l[a],{x:l[0],y:l[1],rotation:t.rotation,cursorPoint:c,tooltipOption:{verticalAlign:"middle"}}},e}(aN),PE={line:function(t,e,n){return{type:"Line",subPixelOptimize:!0,shape:vN([e,n[0]],[e,n[1]],OE(t))}},shadow:function(t,e,n){var i=t.getBandWidth(),r=n[1]-n[0];return{type:"Rect",shape:mN([e-i/2,n[0]],[i,r],OE(t))}}};function OE(t){return t.isHorizontal()?0:1}function RE(t,e){var n=t.getRect();return[n[AE[e]],n[AE[e]]+n[kE[e]]]}var NE=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.type="single",e}(Ag);var EE=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.init=function(e,n,i){var r=Rp(e);t.prototype.init.apply(this,arguments),zE(e,r)},e.prototype.mergeOption=function(e){t.prototype.mergeOption.apply(this,arguments),zE(this.option,e)},e.prototype.getCellSize=function(){return this.option.cellSize},e.type="calendar",e.defaultOption={z:2,left:80,top:60,cellSize:20,orient:"horizontal",splitLine:{show:!0,lineStyle:{color:"#000",width:1,type:"solid"}},itemStyle:{color:"#fff",borderWidth:1,borderColor:"#ccc"},dayLabel:{show:!0,firstDay:0,position:"start",margin:"50%",color:"#000"},monthLabel:{show:!0,position:"start",margin:5,align:"center",formatter:null,color:"#000"},yearLabel:{show:!0,position:null,margin:30,formatter:null,color:"#ccc",fontFamily:"sans-serif",fontWeight:"bolder",fontSize:20}},e}(zp);function zE(t,e){var n,i=t.cellSize;1===(n=Y(i)?i:t.cellSize=[i,i]).length&&(n[1]=n[0]);var r=z([0,1],(function(t){return function(t,e){return null!=t[Cp[e][0]]||null!=t[Cp[e][1]]&&null!=t[Cp[e][2]]}(e,t)&&(n[t]="auto"),null!=n[t]&&"auto"!==n[t]}));Op(t,e,{type:"box",ignoreSize:r})}var VE=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.render=function(t,e,n){var i=this.group;i.removeAll();var r=t.coordinateSystem,o=r.getRangeInfo(),a=r.getOrient(),s=e.getLocaleModel();this._renderDayRect(t,o,i),this._renderLines(t,o,a,i),this._renderYearText(t,o,a,i),this._renderMonthText(t,s,a,i),this._renderWeekText(t,s,o,a,i)},e.prototype._renderDayRect=function(t,e,n){for(var i=t.coordinateSystem,r=t.getModel("itemStyle").getItemStyle(),o=i.getCellWidth(),a=i.getCellHeight(),s=e.start.time;s<=e.end.time;s=i.getNextNDay(s,1).time){var l=i.dataToRect([s],!1).tl,u=new Ws({shape:{x:l[0],y:l[1],width:o,height:a},cursor:"default",style:r});n.add(u)}},e.prototype._renderLines=function(t,e,n,i){var r=this,o=t.coordinateSystem,a=t.getModel(["splitLine","lineStyle"]).getLineStyle(),s=t.get(["splitLine","show"]),l=a.lineWidth;this._tlpoints=[],this._blpoints=[],this._firstDayOfMonth=[],this._firstDayPoints=[];for(var u=e.start,h=0;u.time<=e.end.time;h++){p(u.formatedDate),0===h&&(u=o.getDateInfo(e.start.y+"-"+e.start.m));var c=u.date;c.setMonth(c.getMonth()+1),u=o.getDateInfo(c)}function p(e){r._firstDayOfMonth.push(o.getDateInfo(e)),r._firstDayPoints.push(o.dataToRect([e],!1).tl);var l=r._getLinePointsOfOneWeek(t,e,n);r._tlpoints.push(l[0]),r._blpoints.push(l[l.length-1]),s&&r._drawSplitline(l,a,i)}p(o.getNextNDay(e.end.time,1).formatedDate),s&&this._drawSplitline(r._getEdgesPoints(r._tlpoints,l,n),a,i),s&&this._drawSplitline(r._getEdgesPoints(r._blpoints,l,n),a,i)},e.prototype._getEdgesPoints=function(t,e,n){var i=[t[0].slice(),t[t.length-1].slice()],r="horizontal"===n?0:1;return i[0][r]=i[0][r]-e/2,i[1][r]=i[1][r]+e/2,i},e.prototype._drawSplitline=function(t,e,n){var i=new Zu({z2:20,shape:{points:t},style:e});n.add(i)},e.prototype._getLinePointsOfOneWeek=function(t,e,n){for(var i=t.coordinateSystem,r=i.getDateInfo(e),o=[],a=0;a<7;a++){var s=i.getNextNDay(r.time,a),l=i.dataToRect([s.time],!1);o[2*s.day]=l.tl,o[2*s.day+1]=l["horizontal"===n?"bl":"tr"]}return o},e.prototype._formatterLabel=function(t,e){return U(t)&&t?(n=t,E(e,(function(t,e){n=n.replace("{"+e+"}",i?re(t):t)})),n):X(t)?t(e):e.nameMap;var n,i},e.prototype._yearTextPositionControl=function(t,e,n,i,r){var o=e[0],a=e[1],s=["center","bottom"];"bottom"===i?(a+=r,s=["center","top"]):"left"===i?o-=r:"right"===i?(o+=r,s=["center","top"]):a-=r;var l=0;return"left"!==i&&"right"!==i||(l=Math.PI/2),{rotation:l,x:o,y:a,style:{align:s[0],verticalAlign:s[1]}}},e.prototype._renderYearText=function(t,e,n,i){var r=t.getModel("yearLabel");if(r.get("show")){var o=r.get("margin"),a=r.get("position");a||(a="horizontal"!==n?"top":"left");var s=[this._tlpoints[this._tlpoints.length-1],this._blpoints[0]],l=(s[0][0]+s[1][0])/2,u=(s[0][1]+s[1][1])/2,h="horizontal"===n?0:1,c={top:[l,s[h][1]],bottom:[l,s[1-h][1]],left:[s[1-h][0],u],right:[s[h][0],u]},p=e.start.y;+e.end.y>+e.start.y&&(p=p+"-"+e.end.y);var d=r.get("formatter"),f={start:e.start.y,end:e.end.y,nameMap:p},g=this._formatterLabel(d,f),y=new Xs({z2:30,style:oc(r,{text:g})});y.attr(this._yearTextPositionControl(y,c[a],n,a,o)),i.add(y)}},e.prototype._monthTextPositionControl=function(t,e,n,i,r){var o="left",a="top",s=t[0],l=t[1];return"horizontal"===n?(l+=r,e&&(o="center"),"start"===i&&(a="bottom")):(s+=r,e&&(a="middle"),"start"===i&&(o="right")),{x:s,y:l,align:o,verticalAlign:a}},e.prototype._renderMonthText=function(t,e,n,i){var r=t.getModel("monthLabel");if(r.get("show")){var o=r.get("nameMap"),a=r.get("margin"),s=r.get("position"),l=r.get("align"),u=[this._tlpoints,this._blpoints];o&&!U(o)||(o&&(e=Vc(o)||e),o=e.get(["time","monthAbbr"])||[]);var h="start"===s?0:1,c="horizontal"===n?0:1;a="start"===s?-a:a;for(var p="center"===l,d=0;d=i.start.time&&n.timea.end.time&&t.reverse(),t},t.prototype._getRangeInfo=function(t){var e,n=[this.getDateInfo(t[0]),this.getDateInfo(t[1])];n[0].time>n[1].time&&(e=!0,n.reverse());var i=Math.floor(n[1].time/BE)-Math.floor(n[0].time/BE)+1,r=new Date(n[0].time),o=r.getDate(),a=n[1].date.getDate();r.setDate(o+i-1);var s=r.getDate();if(s!==a)for(var l=r.getTime()-n[1].time>0?1:-1;(s=r.getDate())!==a&&(r.getTime()-n[1].time)*l>0;)i-=l,r.setDate(s-l);var u=Math.floor((i+n[0].day+6)/7),h=e?1-u:u-1;return e&&n.reverse(),{range:[n[0].formatedDate,n[1].formatedDate],start:n[0],end:n[1],allDay:i,weeks:u,nthWeek:h,fweek:n[0].day,lweek:n[1].day}},t.prototype._getDateByWeeksAndDay=function(t,e,n){var i=this._getRangeInfo(n);if(t>i.weeks||0===t&&ei.lweek)return null;var r=7*(t-1)-i.fweek+e,o=new Date(i.start.time);return o.setDate(+i.start.d+r),this.getDateInfo(o)},t.create=function(e,n){var i=[];return e.eachComponent("calendar",(function(r){var o=new t(r,e,n);i.push(o),r.coordinateSystem=o})),e.eachSeries((function(t){"calendar"===t.get("coordinateSystem")&&(t.coordinateSystem=i[t.get("calendarIndex")||0])})),i},t.dimensions=["time","value"],t}();function GE(t){var e=t.calendarModel,n=t.seriesModel;return e?e.coordinateSystem:n?n.coordinateSystem:null}function WE(t,e){var n;return E(e,(function(e){null!=t[e]&&"auto"!==t[e]&&(n=!0)})),n}var HE=["transition","enterFrom","leaveTo"],YE=HE.concat(["enterAnimation","updateAnimation","leaveAnimation"]);function XE(t,e,n){if(n&&(!t[n]&&e[n]&&(t[n]={}),t=t[n],e=e[n]),t&&e)for(var i=n?HE:YE,r=0;r=0;l--){var p,d,f;if(f=null!=(d=Ro((p=n[l]).id,null))?r.get(d):null){var g=f.parent,y=(c=jE(g),{}),v=Lp(f,p,g===i?{width:o,height:a}:{width:c.width,height:c.height},null,{hv:p.hv,boundingMode:p.bounding},y);if(!jE(f).isNew&&v){for(var m=p.transition,x={},_=0;_=0)?x[b]=w:f[b]=w}vh(f,x,t,0)}else f.attr(y)}}},e.prototype._clear=function(){var t=this,e=this._elMap;e.each((function(n){JE(n,jE(n).option,e,t._lastGraphicModel)})),this._elMap=yt()},e.prototype.dispose=function(){this._clear()},e.type="graphic",e}(Ag);function KE(t){var e=_t(ZE,t)?ZE[t]:Lh(t);var n=new e({});return jE(n).type=t,n}function $E(t,e,n,i){var r=KE(n);return e.add(r),i.set(t,r),jE(r).id=t,jE(r).isNew=!0,r}function JE(t,e,n,i){t&&t.parent&&("group"===t.type&&t.traverse((function(t){JE(t,e,n,i)})),gR(t,e,i),n.removeKey(jE(t).id))}function QE(t,e,n,i){t.isGroup||E([["cursor",Da.prototype.cursor],["zlevel",i||0],["z",n||0],["z2",0]],(function(n){var i=n[0];_t(e,i)?t[i]=rt(e[i],n[1]):null==t[i]&&(t[i]=n[1])})),E(G(e),(function(n){if(0===n.indexOf("on")){var i=e[n];t[n]=X(i)?i:null}})),_t(e,"draggable")&&(t.draggable=e.draggable),null!=e.name&&(t.name=e.name),null!=e.id&&(t.id=e.id)}var tz=["x","y","radius","angle","single"],ez=["cartesian2d","polar","singleAxis"];function nz(t){return t+"Axis"}function iz(t,e){var n,i=yt(),r=[],o=yt();t.eachComponent({mainType:"dataZoom",query:e},(function(t){o.get(t.uid)||s(t)}));do{n=!1,t.eachComponent("dataZoom",a)}while(n);function a(t){!o.get(t.uid)&&function(t){var e=!1;return t.eachTargetAxis((function(t,n){var r=i.get(t);r&&r[n]&&(e=!0)})),e}(t)&&(s(t),n=!0)}function s(t){o.set(t.uid,!0),r.push(t),t.eachTargetAxis((function(t,e){(i.get(t)||i.set(t,[]))[e]=!0}))}return r}function rz(t){var e=t.ecModel,n={infoList:[],infoMap:yt()};return t.eachTargetAxis((function(t,i){var r=e.getComponent(nz(t),i);if(r){var o=r.getCoordSysModel();if(o){var a=o.uid,s=n.infoMap.get(a);s||(s={model:o,axisModels:[]},n.infoList.push(s),n.infoMap.set(a,s)),s.axisModels.push(r)}}})),n}var oz=function(){function t(){this.indexList=[],this.indexMap=[]}return t.prototype.add=function(t){this.indexMap[t]||(this.indexList.push(t),this.indexMap[t]=!0)},t}(),az=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n._autoThrottle=!0,n._noTarget=!0,n._rangePropMode=["percent","percent"],n}return n(e,t),e.prototype.init=function(t,e,n){var i=sz(t);this.settledOption=i,this.mergeDefaultAndTheme(t,n),this._doInit(i)},e.prototype.mergeOption=function(t){var e=sz(t);C(this.option,t,!0),C(this.settledOption,e,!0),this._doInit(e)},e.prototype._doInit=function(t){var e=this.option;this._setDefaultThrottle(t),this._updateRangeUse(t);var n=this.settledOption;E([["start","startValue"],["end","endValue"]],(function(t,i){"value"===this._rangePropMode[i]&&(e[t[0]]=n[t[0]]=null)}),this),this._resetTarget()},e.prototype._resetTarget=function(){var t=this.get("orient",!0),e=this._targetAxisInfoMap=yt();this._fillSpecifiedTargetAxis(e)?this._orient=t||this._makeAutoOrientByTargetAxis():(this._orient=t||"horizontal",this._fillAutoTargetAxisByOrient(e,this._orient)),this._noTarget=!0,e.each((function(t){t.indexList.length&&(this._noTarget=!1)}),this)},e.prototype._fillSpecifiedTargetAxis=function(t){var e=!1;return E(tz,(function(n){var i=this.getReferringComponents(nz(n),Ho);if(i.specified){e=!0;var r=new oz;E(i.models,(function(t){r.add(t.componentIndex)})),t.set(n,r)}}),this),e},e.prototype._fillAutoTargetAxisByOrient=function(t,e){var n=this.ecModel,i=!0;if(i){var r="vertical"===e?"y":"x";o(n.findComponents({mainType:r+"Axis"}),r)}i&&o(n.findComponents({mainType:"singleAxis",filter:function(t){return t.get("orient",!0)===e}}),"single");function o(e,n){var r=e[0];if(r){var o=new oz;if(o.add(r.componentIndex),t.set(n,o),i=!1,"x"===n||"y"===n){var a=r.getReferringComponents("grid",Wo).models[0];a&&E(e,(function(t){r.componentIndex!==t.componentIndex&&a===t.getReferringComponents("grid",Wo).models[0]&&o.add(t.componentIndex)}))}}}i&&E(tz,(function(e){if(i){var r=n.findComponents({mainType:nz(e),filter:function(t){return"category"===t.get("type",!0)}});if(r[0]){var o=new oz;o.add(r[0].componentIndex),t.set(e,o),i=!1}}}),this)},e.prototype._makeAutoOrientByTargetAxis=function(){var t;return this.eachTargetAxis((function(e){!t&&(t=e)}),this),"y"===t?"vertical":"horizontal"},e.prototype._setDefaultThrottle=function(t){if(t.hasOwnProperty("throttle")&&(this._autoThrottle=!1),this._autoThrottle){var e=this.ecModel.option;this.option.throttle=e.animation&&e.animationDurationUpdate>0?100:20}},e.prototype._updateRangeUse=function(t){var e=this._rangePropMode,n=this.get("rangeMode");E([["start","startValue"],["end","endValue"]],(function(i,r){var o=null!=t[i[0]],a=null!=t[i[1]];o&&!a?e[r]="percent":!o&&a?e[r]="value":n?e[r]=n[r]:o&&(e[r]="percent")}))},e.prototype.noTarget=function(){return this._noTarget},e.prototype.getFirstTargetAxisModel=function(){var t;return this.eachTargetAxis((function(e,n){null==t&&(t=this.ecModel.getComponent(nz(e),n))}),this),t},e.prototype.eachTargetAxis=function(t,e){this._targetAxisInfoMap.each((function(n,i){E(n.indexList,(function(n){t.call(e,i,n)}))}))},e.prototype.getAxisProxy=function(t,e){var n=this.getAxisModel(t,e);if(n)return n.__dzAxisProxy},e.prototype.getAxisModel=function(t,e){var n=this._targetAxisInfoMap.get(t);if(n&&n.indexMap[e])return this.ecModel.getComponent(nz(t),e)},e.prototype.setRawRange=function(t){var e=this.option,n=this.settledOption;E([["start","startValue"],["end","endValue"]],(function(i){null==t[i[0]]&&null==t[i[1]]||(e[i[0]]=n[i[0]]=t[i[0]],e[i[1]]=n[i[1]]=t[i[1]])}),this),this._updateRangeUse(t)},e.prototype.setCalculatedRange=function(t){var e=this.option;E(["start","startValue","end","endValue"],(function(n){e[n]=t[n]}))},e.prototype.getPercentRange=function(){var t=this.findRepresentativeAxisProxy();if(t)return t.getDataPercentWindow()},e.prototype.getValueRange=function(t,e){if(null!=t||null!=e)return this.getAxisProxy(t,e).getDataValueWindow();var n=this.findRepresentativeAxisProxy();return n?n.getDataValueWindow():void 0},e.prototype.findRepresentativeAxisProxy=function(t){if(t)return t.__dzAxisProxy;for(var e,n=this._targetAxisInfoMap.keys(),i=0;i=0}(e)){var n=nz(this._dimName),i=e.getReferringComponents(n,Wo).models[0];i&&this._axisIndex===i.componentIndex&&t.push(e)}}),this),t},t.prototype.getAxisModel=function(){return this.ecModel.getComponent(this._dimName+"Axis",this._axisIndex)},t.prototype.getMinMaxSpan=function(){return T(this._minMaxSpan)},t.prototype.calculateDataWindow=function(t){var e,n=this._dataExtent,i=this.getAxisModel().axis.scale,r=this._dataZoomModel.getRangePropMode(),o=[0,100],a=[],s=[];cz(["start","end"],(function(l,u){var h=t[l],c=t[l+"Value"];"percent"===r[u]?(null==h&&(h=o[u]),c=i.parse(Kr(h,o,n))):(e=!0,h=Kr(c=null==c?n[u]:i.parse(c),n,o)),s[u]=null==c||isNaN(c)?n[u]:c,a[u]=null==h||isNaN(h)?o[u]:h})),pz(s),pz(a);var l=this._minMaxSpan;function u(t,e,n,r,o){var a=o?"Span":"ValueSpan";zk(0,t,n,"all",l["min"+a],l["max"+a]);for(var s=0;s<2;s++)e[s]=Kr(t[s],n,r,!0),o&&(e[s]=i.parse(e[s]))}return e?u(s,a,n,o,!1):u(a,s,o,n,!0),{valueWindow:s,percentWindow:a}},t.prototype.reset=function(t){if(t===this._dataZoomModel){var e=this.getTargetSeriesModels();this._dataExtent=function(t,e,n){var i=[1/0,-1/0];cz(n,(function(t){!function(t,e,n){e&&E(C_(e,n),(function(n){var i=e.getApproximateExtent(n);i[0]t[1]&&(t[1]=i[1])}))}(i,t.getData(),e)}));var r=t.getAxisModel(),o=v_(r.axis.scale,r,i).calculate();return[o.min,o.max]}(this,this._dimName,e),this._updateMinMaxSpan();var n=this.calculateDataWindow(t.settledOption);this._valueWindow=n.valueWindow,this._percentWindow=n.percentWindow,this._setAxisModel()}},t.prototype.filterData=function(t,e){if(t===this._dataZoomModel){var n=this._dimName,i=this.getTargetSeriesModels(),r=t.get("filterMode"),o=this._valueWindow;"none"!==r&&cz(i,(function(t){var e=t.getData(),i=e.mapDimensionsAll(n);if(i.length){if("weakFilter"===r){var a=e.getStore(),s=z(i,(function(t){return e.getDimensionIndex(t)}),e);e.filterSelf((function(t){for(var e,n,r,l=0;lo[1];if(h&&!c&&!p)return!0;h&&(r=!0),c&&(e=!0),p&&(n=!0)}return r&&e&&n}))}else cz(i,(function(n){if("empty"===r)t.setData(e=e.map(n,(function(t){return function(t){return t>=o[0]&&t<=o[1]}(t)?t:NaN})));else{var i={};i[n]=o,e.selectRange(i)}}));cz(i,(function(t){e.setApproximateExtent(o,t)}))}}))}},t.prototype._updateMinMaxSpan=function(){var t=this._minMaxSpan={},e=this._dataZoomModel,n=this._dataExtent;cz(["min","max"],(function(i){var r=e.get(i+"Span"),o=e.get(i+"ValueSpan");null!=o&&(o=this.getAxisModel().axis.scale.parse(o)),null!=o?r=Kr(n[0]+o,n,[0,100],!0):null!=r&&(o=Kr(r,[0,100],n,!0)-n[0]),t[i+"Span"]=r,t[i+"ValueSpan"]=o}),this)},t.prototype._setAxisModel=function(){var t=this.getAxisModel(),e=this._percentWindow,n=this._valueWindow;if(e){var i=no(n,[0,500]);i=Math.min(i,20);var r=t.axis.scale.rawExtentInfo;0!==e[0]&&r.setDeterminedMinMax("min",+n[0].toFixed(i)),100!==e[1]&&r.setDeterminedMinMax("max",+n[1].toFixed(i)),r.freeze()}},t}();var fz={getTargetSeries:function(t){function e(e){t.eachComponent("dataZoom",(function(n){n.eachTargetAxis((function(i,r){var o=t.getComponent(nz(i),r);e(i,r,o,n)}))}))}e((function(t,e,n,i){n.__dzAxisProxy=null}));var n=[];e((function(e,i,r,o){r.__dzAxisProxy||(r.__dzAxisProxy=new dz(e,i,o,t),n.push(r.__dzAxisProxy))}));var i=yt();return E(n,(function(t){E(t.getTargetSeriesModels(),(function(t){i.set(t.uid,t)}))})),i},overallReset:function(t,e){t.eachComponent("dataZoom",(function(t){t.eachTargetAxis((function(e,n){t.getAxisProxy(e,n).reset(t)})),t.eachTargetAxis((function(n,i){t.getAxisProxy(n,i).filterData(t,e)}))})),t.eachComponent("dataZoom",(function(t){var e=t.findRepresentativeAxisProxy();if(e){var n=e.getDataPercentWindow(),i=e.getDataValueWindow();t.setCalculatedRange({start:n[0],end:n[1],startValue:i[0],endValue:i[1]})}}))}};var gz=!1;function yz(t){gz||(gz=!0,t.registerProcessor(t.PRIORITY.PROCESSOR.FILTER,fz),function(t){t.registerAction("dataZoom",(function(t,e){E(iz(e,t),(function(e){e.setRawRange({start:t.start,end:t.end,startValue:t.startValue,endValue:t.endValue})}))}))}(t),t.registerSubTypeDefaulter("dataZoom",(function(){return"slider"})))}function vz(t){t.registerComponentModel(lz),t.registerComponentView(hz),yz(t)}var mz=function(){},xz={};function _z(t,e){xz[t]=e}function bz(t){return xz[t]}var wz=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.optionUpdated=function(){t.prototype.optionUpdated.apply(this,arguments);var e=this.ecModel;E(this.option.feature,(function(t,n){var i=bz(n);i&&(i.getDefaultOption&&(i.defaultOption=i.getDefaultOption(e)),C(t,i.defaultOption))}))},e.type="toolbox",e.layoutMode={type:"box",ignoreSize:!0},e.defaultOption={show:!0,z:6,orient:"horizontal",left:"right",top:"top",backgroundColor:"transparent",borderColor:"#ccc",borderRadius:0,borderWidth:0,padding:5,itemSize:15,itemGap:8,showTitle:!0,iconStyle:{borderColor:"#666",color:"none"},emphasis:{iconStyle:{borderColor:"#3E98C5"}},tooltip:{show:!1,position:"bottom"}},e}(zp);function Sz(t,e){var n=vp(e.get("padding")),i=e.getItemStyle(["color","opacity"]);return i.fill=e.get("backgroundColor"),t=new Ws({shape:{x:t.x-n[3],y:t.y-n[0],width:t.width+n[1]+n[3],height:t.height+n[0]+n[2],r:e.get("borderRadius")},style:i,silent:!0,z2:-1})}var Mz=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n(e,t),e.prototype.render=function(t,e,n,i){var r=this.group;if(r.removeAll(),t.get("show")){var o=+t.get("itemSize"),a="vertical"===t.get("orient"),s=t.get("feature")||{},l=this._features||(this._features={}),u=[];E(s,(function(t,e){u.push(e)})),new Gm(this._featureNames||[],u).add(h).update(h).remove(H(h,null)).execute(),this._featureNames=u,function(t,e,n){var i=e.getBoxLayoutParams(),r=e.get("padding"),o={width:n.getWidth(),height:n.getHeight()},a=kp(i,o,r);Ap(e.get("orient"),t,e.get("itemGap"),a.width,a.height),Lp(t,i,o,r)}(r,t,n),r.add(Sz(r.getBoundingRect(),t)),a||r.eachChild((function(t){var e=t.__title,i=t.ensureState("emphasis"),a=i.textConfig||(i.textConfig={}),s=t.getTextContent(),l=s&&s.ensureState("emphasis");if(l&&!X(l)&&e){var u=l.style||(l.style={}),h=Sr(e,Xs.makeFont(u)),c=t.x+r.x,p=!1;t.y+r.y+o+h.height>n.getHeight()&&(a.position="top",p=!0);var d=p?-5-h.height:o+10;c+h.width/2>n.getWidth()?(a.position=["100%",d],u.align="right"):c-h.width/2<0&&(a.position=[0,d],u.align="left")}}))}function h(h,c){var p,d=u[h],f=u[c],g=s[d],y=new Cc(g,t,t.ecModel);if(i&&null!=i.newTitle&&i.featureName===d&&(g.title=i.newTitle),d&&!f){if(function(t){return 0===t.indexOf("my")}(d))p={onclick:y.option.onclick,featureName:d};else{var v=bz(d);if(!v)return;p=new v}l[d]=p}else if(!(p=l[f]))return;p.uid=Ac("toolbox-feature"),p.model=y,p.ecModel=e,p.api=n;var m=p instanceof mz;d||!f?!y.get("show")||m&&p.unusable?m&&p.remove&&p.remove(e,n):(!function(i,s,l){var u,h,c=i.getModel("iconStyle"),p=i.getModel(["emphasis","iconStyle"]),d=s instanceof mz&&s.getIcons?s.getIcons():i.get("icon"),f=i.get("title")||{};U(d)?(u={})[l]=d:u=d;U(f)?(h={})[l]=f:h=f;var g=i.iconPaths={};E(u,(function(l,u){var d=Uh(l,{},{x:-o/2,y:-o/2,width:o,height:o});d.setStyle(c.getItemStyle()),d.ensureState("emphasis").style=p.getItemStyle();var f=new Xs({style:{text:h[u],align:p.get("textAlign"),borderRadius:p.get("textBorderRadius"),padding:p.get("textPadding"),fill:null,font:cc({fontStyle:p.get("textFontStyle"),fontFamily:p.get("textFontFamily"),fontSize:p.get("textFontSize"),fontWeight:p.get("textFontWeight")},e)},ignore:!0});d.setTextContent(f),Kh({el:d,componentModel:t,itemName:u,formatterParamsExtra:{title:h[u]}}),d.__title=h[u],d.on("mouseover",(function(){var e=p.getItemStyle(),i=a?null==t.get("right")&&"right"!==t.get("left")?"right":"left":null==t.get("bottom")&&"bottom"!==t.get("top")?"bottom":"top";f.setStyle({fill:p.get("textFill")||e.fill||e.stroke||"#000",backgroundColor:p.get("textBackgroundColor")}),d.setTextConfig({position:p.get("textPosition")||i}),f.ignore=!t.get("showTitle"),n.enterEmphasis(this)})).on("mouseout",(function(){"emphasis"!==i.get(["iconStatus",u])&&n.leaveEmphasis(this),f.hide()})),("emphasis"===i.get(["iconStatus",u])?Ol:Rl)(d),r.add(d),d.on("click",W(s.onclick,s,e,n,u)),g[u]=d}))}(y,p,d),y.setIconStatus=function(t,e){var n=this.option,i=this.iconPaths;n.iconStatus=n.iconStatus||{},n.iconStatus[t]=e,i[t]&&("emphasis"===e?Ol:Rl)(i[t])},p instanceof mz&&p.render&&p.render(y,e,n,i)):m&&p.dispose&&p.dispose(e,n)}},e.prototype.updateView=function(t,e,n,i){E(this._features,(function(t){t instanceof mz&&t.updateView&&t.updateView(t.model,e,n,i)}))},e.prototype.remove=function(t,e){E(this._features,(function(n){n instanceof mz&&n.remove&&n.remove(t,e)})),this.group.removeAll()},e.prototype.dispose=function(t,e){E(this._features,(function(n){n instanceof mz&&n.dispose&&n.dispose(t,e)}))},e.type="toolbox",e}(Ag);var Iz=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n(e,t),e.prototype.onclick=function(t,e){var n=this.model,i=n.get("name")||t.get("title.0.text")||"echarts",o="svg"===e.getZr().painter.getType(),a=o?"svg":n.get("type",!0)||"png",s=e.getConnectedDataURL({type:a,backgroundColor:n.get("backgroundColor",!0)||t.get("backgroundColor")||"#fff",connectedBackgroundColor:n.get("connectedBackgroundColor"),excludeComponents:n.get("excludeComponents"),pixelRatio:n.get("pixelRatio")}),l=r.browser;if("function"!=typeof MouseEvent||!l.newEdge&&(l.ie||l.edge))if(window.navigator.msSaveOrOpenBlob||o){var u=s.split(","),h=u[0].indexOf("base64")>-1,c=o?decodeURIComponent(u[1]):u[1];h&&(c=window.atob(c));var p=i+"."+a;if(window.navigator.msSaveOrOpenBlob){for(var d=c.length,f=new Uint8Array(d);d--;)f[d]=c.charCodeAt(d);var g=new Blob([f]);window.navigator.msSaveOrOpenBlob(g,p)}else{var y=document.createElement("iframe");document.body.appendChild(y);var v=y.contentWindow,m=v.document;m.open("image/svg+xml","replace"),m.write(c),m.close(),v.focus(),m.execCommand("SaveAs",!0,p),document.body.removeChild(y)}}else{var x=n.get("lang"),_='',b=window.open();b.document.write(_),b.document.title=i}else{var w=document.createElement("a");w.download=i+"."+a,w.target="_blank",w.href=s;var S=new MouseEvent("click",{view:document.defaultView,bubbles:!0,cancelable:!1});w.dispatchEvent(S)}},e.getDefaultOption=function(t){return{show:!0,icon:"M4.7,22.9L29.3,45.5L54.7,23.4M4.6,43.6L4.6,58L53.8,58L53.8,43.6M29.2,45.1L29.2,0",title:t.getLocaleModel().get(["toolbox","saveAsImage","title"]),type:"png",connectedBackgroundColor:"#fff",name:"",excludeComponents:["toolbox"],lang:t.getLocaleModel().get(["toolbox","saveAsImage","lang"])}},e}(mz),Tz="__ec_magicType_stack__",Cz=[["line","bar"],["stack"]],Dz=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n(e,t),e.prototype.getIcons=function(){var t=this.model,e=t.get("icon"),n={};return E(t.get("type"),(function(t){e[t]&&(n[t]=e[t])})),n},e.getDefaultOption=function(t){return{show:!0,type:[],icon:{line:"M4.1,28.9h7.1l9.3-22l7.4,38l9.7-19.7l3,12.8h14.9M4.1,58h51.4",bar:"M6.7,22.9h10V48h-10V22.9zM24.9,13h10v35h-10V13zM43.2,2h10v46h-10V2zM3.1,58h53.7",stack:"M8.2,38.4l-8.4,4.1l30.6,15.3L60,42.5l-8.1-4.1l-21.5,11L8.2,38.4z M51.9,30l-8.1,4.2l-13.4,6.9l-13.9-6.9L8.2,30l-8.4,4.2l8.4,4.2l22.2,11l21.5-11l8.1-4.2L51.9,30z M51.9,21.7l-8.1,4.2L35.7,30l-5.3,2.8L24.9,30l-8.4-4.1l-8.3-4.2l-8.4,4.2L8.2,30l8.3,4.2l13.9,6.9l13.4-6.9l8.1-4.2l8.1-4.1L51.9,21.7zM30.4,2.2L-0.2,17.5l8.4,4.1l8.3,4.2l8.4,4.2l5.5,2.7l5.3-2.7l8.1-4.2l8.1-4.2l8.1-4.1L30.4,2.2z"},title:t.getLocaleModel().get(["toolbox","magicType","title"]),option:{},seriesIndex:{}}},e.prototype.onclick=function(t,e,n){var i=this.model,r=i.get(["seriesIndex",n]);if(Az[n]){var o,a={series:[]};E(Cz,(function(t){P(t,n)>=0&&E(t,(function(t){i.setIconStatus(t,"normal")}))})),i.setIconStatus(n,"emphasis"),t.eachComponent({mainType:"series",query:null==r?null:{seriesIndex:r}},(function(t){var e=t.subType,r=t.id,o=Az[n](e,r,t,i);o&&(k(o,t.option),a.series.push(o));var s=t.coordinateSystem;if(s&&"cartesian2d"===s.type&&("line"===n||"bar"===n)){var l=s.getAxesByScale("ordinal")[0];if(l){var u=l.dim+"Axis",h=t.getReferringComponents(u,Wo).models[0].componentIndex;a[u]=a[u]||[];for(var c=0;c<=h;c++)a[u][h]=a[u][h]||{};a[u][h].boundaryGap="bar"===n}}}));var s=n;"stack"===n&&(o=C({stack:i.option.title.tiled,tiled:i.option.title.stack},i.option.title),"emphasis"!==i.get(["iconStatus",n])&&(s="tiled")),e.dispatchAction({type:"changeMagicType",currentType:s,newOption:a,newTitle:o,featureName:"magicType"})}},e}(mz),Az={line:function(t,e,n,i){if("bar"===t)return C({id:e,type:"line",data:n.get("data"),stack:n.get("stack"),markPoint:n.get("markPoint"),markLine:n.get("markLine")},i.get(["option","line"])||{},!0)},bar:function(t,e,n,i){if("line"===t)return C({id:e,type:"bar",data:n.get("data"),stack:n.get("stack"),markPoint:n.get("markPoint"),markLine:n.get("markLine")},i.get(["option","bar"])||{},!0)},stack:function(t,e,n,i){var r=n.get("stack")===Tz;if("line"===t||"bar"===t)return i.setIconStatus("stack",r?"normal":"emphasis"),C({id:e,stack:r?"":Tz},i.get(["option","stack"])||{},!0)}};Cm({type:"changeMagicType",event:"magicTypeChanged",update:"prepareAndUpdate"},(function(t,e){e.mergeOption(t.newOption)}));var kz=new Array(60).join("-"),Lz="\t";function Pz(t){return t.replace(/^\s\s*/,"").replace(/\s\s*$/,"")}var Oz=new RegExp("[\t]+","g");function Rz(t,e){var n=t.split(new RegExp("\n*"+kz+"\n*","g")),i={series:[]};return E(n,(function(t,n){if(function(t){if(t.slice(0,t.indexOf("\n")).indexOf(Lz)>=0)return!0}(t)){var r=function(t){for(var e=t.split(/\n+/g),n=[],i=z(Pz(e.shift()).split(Oz),(function(t){return{name:t,data:[]}})),r=0;r=0)&&t(r,i._targetInfoList)}))}return t.prototype.setOutputRanges=function(t,e){return this.matchOutputRanges(t,e,(function(t,e,n){if((t.coordRanges||(t.coordRanges=[])).push(e),!t.coordRange){t.coordRange=e;var i=jz[t.brushType](0,n,e);t.__rangeOffset={offset:Kz[t.brushType](i.values,t.range,[1,1]),xyMinMax:i.xyMinMax}}})),t},t.prototype.matchOutputRanges=function(t,e,n){E(t,(function(t){var i=this.findTargetInfo(t,e);i&&!0!==i&&E(i.coordSyses,(function(i){var r=jz[t.brushType](1,i,t.range,!0);n(t,r.values,i,e)}))}),this)},t.prototype.setInputRanges=function(t,e){E(t,(function(t){var n,i,r,o,a,s=this.findTargetInfo(t,e);if(t.range=t.range||[],s&&!0!==s){t.panelId=s.panelId;var l=jz[t.brushType](0,s.coordSys,t.coordRange),u=t.__rangeOffset;t.range=u?Kz[t.brushType](l.values,u.offset,(n=l.xyMinMax,i=u.xyMinMax,r=Jz(n),o=Jz(i),a=[r[0]/o[0],r[1]/o[1]],isNaN(a[0])&&(a[0]=1),isNaN(a[1])&&(a[1]=1),a)):l.values}}),this)},t.prototype.makePanelOpts=function(t,e){return z(this._targetInfoList,(function(n){var i=n.getPanelRect();return{panelId:n.panelId,defaultBrushType:e?e(n):null,clipPath:BL(i),isTargetByCursor:GL(i,t,n.coordSysModel),getLinearBrushOtherExtent:FL(i)}}))},t.prototype.controlSeries=function(t,e,n){var i=this.findTargetInfo(t,n);return!0===i||i&&P(i.coordSyses,e.coordinateSystem)>=0},t.prototype.findTargetInfo=function(t,e){for(var n=this._targetInfoList,i=Yz(e,t),r=0;rt[1]&&t.reverse(),t}function Yz(t,e){return Fo(t,e,{includeMainTypes:Gz})}var Xz={grid:function(t,e){var n=t.xAxisModels,i=t.yAxisModels,r=t.gridModels,o=yt(),a={},s={};(n||i||r)&&(E(n,(function(t){var e=t.axis.grid.model;o.set(e.id,e),a[e.id]=!0})),E(i,(function(t){var e=t.axis.grid.model;o.set(e.id,e),s[e.id]=!0})),E(r,(function(t){o.set(t.id,t),a[t.id]=!0,s[t.id]=!0})),o.each((function(t){var r=t.coordinateSystem,o=[];E(r.getCartesians(),(function(t,e){(P(n,t.getAxis("x").model)>=0||P(i,t.getAxis("y").model)>=0)&&o.push(t)})),e.push({panelId:"grid--"+t.id,gridModel:t,coordSysModel:t,coordSys:o[0],coordSyses:o,getPanelRect:Zz.grid,xAxisDeclared:a[t.id],yAxisDeclared:s[t.id]})})))},geo:function(t,e){E(t.geoModels,(function(t){var n=t.coordinateSystem;e.push({panelId:"geo--"+t.id,geoModel:t,coordSysModel:t,coordSys:n,coordSyses:[n],getPanelRect:Zz.geo})}))}},Uz=[function(t,e){var n=t.xAxisModel,i=t.yAxisModel,r=t.gridModel;return!r&&n&&(r=n.axis.grid.model),!r&&i&&(r=i.axis.grid.model),r&&r===e.gridModel},function(t,e){var n=t.geoModel;return n&&n===e.geoModel}],Zz={grid:function(){return this.coordSys.master.getRect().clone()},geo:function(){var t=this.coordSys,e=t.getBoundingRect().clone();return e.applyTransform(Bh(t)),e}},jz={lineX:H(qz,0),lineY:H(qz,1),rect:function(t,e,n,i){var r=t?e.pointToData([n[0][0],n[1][0]],i):e.dataToPoint([n[0][0],n[1][0]],i),o=t?e.pointToData([n[0][1],n[1][1]],i):e.dataToPoint([n[0][1],n[1][1]],i),a=[Hz([r[0],o[0]]),Hz([r[1],o[1]])];return{values:a,xyMinMax:a}},polygon:function(t,e,n,i){var r=[[1/0,-1/0],[1/0,-1/0]];return{values:z(n,(function(n){var o=t?e.pointToData(n,i):e.dataToPoint(n,i);return r[0][0]=Math.min(r[0][0],o[0]),r[1][0]=Math.min(r[1][0],o[1]),r[0][1]=Math.max(r[0][1],o[0]),r[1][1]=Math.max(r[1][1],o[1]),o})),xyMinMax:r}}};function qz(t,e,n,i){var r=n.getAxis(["x","y"][t]),o=Hz(z([0,1],(function(t){return e?r.coordToData(r.toLocalCoord(i[t]),!0):r.toGlobalCoord(r.dataToCoord(i[t]))}))),a=[];return a[t]=o,a[1-t]=[NaN,NaN],{values:o,xyMinMax:a}}var Kz={lineX:H($z,0),lineY:H($z,1),rect:function(t,e,n){return[[t[0][0]-n[0]*e[0][0],t[0][1]-n[0]*e[0][1]],[t[1][0]-n[1]*e[1][0],t[1][1]-n[1]*e[1][1]]]},polygon:function(t,e,n){return z(t,(function(t,i){return[t[0]-n[0]*e[i][0],t[1]-n[1]*e[i][1]]}))}};function $z(t,e,n,i){return[e[0]-i[t]*n[0],e[1]-i[t]*n[1]]}function Jz(t){return t?[t[0][1]-t[0][0],t[1][1]-t[1][0]]:[NaN,NaN]}var Qz,tV,eV=E,nV=Io+"toolbox-dataZoom_",iV=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n(e,t),e.prototype.render=function(t,e,n,i){this._brushController||(this._brushController=new lL(n.getZr()),this._brushController.on("brush",W(this._onBrush,this)).mount()),function(t,e,n,i,r){var o=n._isZoomActive;i&&"takeGlobalCursor"===i.type&&(o="dataZoomSelect"===i.key&&i.dataZoomSelectActive);n._isZoomActive=o,t.setIconStatus("zoom",o?"emphasis":"normal");var a=new Wz(oV(t),e,{include:["grid"]}),s=a.makePanelOpts(r,(function(t){return t.xAxisDeclared&&!t.yAxisDeclared?"lineX":!t.xAxisDeclared&&t.yAxisDeclared?"lineY":"rect"}));n._brushController.setPanels(s).enableBrush(!(!o||!s.length)&&{brushType:"auto",brushStyle:t.getModel("brushStyle").getItemStyle()})}(t,e,this,i,n),function(t,e){t.setIconStatus("back",function(t){return Bz(t).length}(e)>1?"emphasis":"normal")}(t,e)},e.prototype.onclick=function(t,e,n){rV[n].call(this)},e.prototype.remove=function(t,e){this._brushController&&this._brushController.unmount()},e.prototype.dispose=function(t,e){this._brushController&&this._brushController.dispose()},e.prototype._onBrush=function(t){var e=t.areas;if(t.isEnd&&e.length){var n={},i=this.ecModel;this._brushController.updateCovers([]),new Wz(oV(this.model),i,{include:["grid"]}).matchOutputRanges(e,i,(function(t,e,n){if("cartesian2d"===n.type){var i=t.brushType;"rect"===i?(r("x",n,e[0]),r("y",n,e[1])):r({lineX:"x",lineY:"y"}[i],n,e)}})),function(t,e){var n=Bz(t);zz(e,(function(e,i){for(var r=n.length-1;r>=0&&!n[r][i];r--);if(r<0){var o=t.queryComponents({mainType:"dataZoom",subType:"select",id:i})[0];if(o){var a=o.getPercentRange();n[0][i]={dataZoomId:i,start:a[0],end:a[1]}}}})),n.push(e)}(i,n),this._dispatchZoomAction(n)}function r(t,e,r){var o=e.getAxis(t),a=o.model,s=function(t,e,n){var i;return n.eachComponent({mainType:"dataZoom",subType:"select"},(function(n){n.getAxisModel(t,e.componentIndex)&&(i=n)})),i}(t,a,i),l=s.findRepresentativeAxisProxy(a).getMinMaxSpan();null==l.minValueSpan&&null==l.maxValueSpan||(r=zk(0,r.slice(),o.scale.getExtent(),0,l.minValueSpan,l.maxValueSpan)),s&&(n[s.id]={dataZoomId:s.id,startValue:r[0],endValue:r[1]})}},e.prototype._dispatchZoomAction=function(t){var e=[];eV(t,(function(t,n){e.push(T(t))})),e.length&&this.api.dispatchAction({type:"dataZoom",from:this.uid,batch:e})},e.getDefaultOption=function(t){return{show:!0,filterMode:"filter",icon:{zoom:"M0,13.5h26.9 M13.5,26.9V0 M32.1,13.5H58V58H13.5 V32.1",back:"M22,1.4L9.9,13.5l12.3,12.3 M10.3,13.5H54.9v44.6 H10.3v-26"},title:t.getLocaleModel().get(["toolbox","dataZoom","title"]),brushStyle:{borderWidth:0,color:"rgba(210,219,238,0.2)"}}},e}(mz),rV={zoom:function(){var t=!this._isZoomActive;this.api.dispatchAction({type:"takeGlobalCursor",key:"dataZoomSelect",dataZoomSelectActive:t})},back:function(){this._dispatchZoomAction(function(t){var e=Bz(t),n=e[e.length-1];e.length>1&&e.pop();var i={};return zz(n,(function(t,n){for(var r=e.length-1;r>=0;r--)if(t=e[r][n]){i[n]=t;break}})),i}(this.ecModel))}};function oV(t){var e={xAxisIndex:t.get("xAxisIndex",!0),yAxisIndex:t.get("yAxisIndex",!0),xAxisId:t.get("xAxisId",!0),yAxisId:t.get("yAxisId",!0)};return null==e.xAxisIndex&&null==e.xAxisId&&(e.xAxisIndex="all"),null==e.yAxisIndex&&null==e.yAxisId&&(e.yAxisIndex="all"),e}Qz="dataZoom",tV=function(t){var e=t.getComponent("toolbox",0),n=["feature","dataZoom"];if(e&&null!=e.get(n)){var i=e.getModel(n),r=[],o=Fo(t,oV(i));return eV(o.xAxisModels,(function(t){return a(t,"xAxis","xAxisIndex")})),eV(o.yAxisModels,(function(t){return a(t,"yAxis","yAxisIndex")})),r}function a(t,e,n){var o=t.componentIndex,a={type:"select",$fromToolbox:!0,filterMode:i.get("filterMode",!0)||"filter",id:nV+e+o};a[n]=o,r.push(a)}},lt(null==od.get(Qz)&&tV),od.set(Qz,tV);var aV=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.type="tooltip",e.dependencies=["axisPointer"],e.defaultOption={z:60,show:!0,showContent:!0,trigger:"item",triggerOn:"mousemove|click",alwaysShowContent:!1,displayMode:"single",renderMode:"auto",confine:null,showDelay:0,hideDelay:100,transitionDuration:.4,enterable:!1,backgroundColor:"#fff",shadowBlur:10,shadowColor:"rgba(0, 0, 0, .2)",shadowOffsetX:1,shadowOffsetY:2,borderRadius:4,borderWidth:1,padding:null,extraCssText:"",axisPointer:{type:"line",axis:"auto",animation:"auto",animationDurationUpdate:200,animationEasingUpdate:"exponentialOut",crossStyle:{color:"#999",width:1,type:"dashed",textStyle:{}}},textStyle:{color:"#666",fontSize:14}},e}(zp);function sV(t){var e=t.get("confine");return null!=e?!!e:"richText"===t.get("renderMode")}function lV(t){if(r.domSupported)for(var e=document.documentElement.style,n=0,i=t.length;n-1?(u+="top:50%",h+="translateY(-50%) rotate("+(a="left"===s?-225:-45)+"deg)"):(u+="left:50%",h+="translateX(-50%) rotate("+(a="top"===s?225:45)+"deg)");var c=a*Math.PI/180,p=l+r,d=p*Math.abs(Math.cos(c))+p*Math.abs(Math.sin(c)),f=e+" solid "+r+"px;";return'
'}(n,i,r)),U(t))o.innerHTML=t+a;else if(t){o.innerHTML="",Y(t)||(t=[t]);for(var s=0;s=0?this._tryShow(n,i):"leave"===e&&this._hide(i))}),this))},e.prototype._keepShow=function(){var t=this._tooltipModel,e=this._ecModel,n=this._api,i=t.get("triggerOn");if(null!=this._lastX&&null!=this._lastY&&"none"!==i&&"click"!==i){var r=this;clearTimeout(this._refreshUpdateTimeout),this._refreshUpdateTimeout=setTimeout((function(){!n.isDisposed()&&r.manuallyShowTip(t,e,n,{x:r._lastX,y:r._lastY,dataByCoordSys:r._lastDataByCoordSys})}))}},e.prototype.manuallyShowTip=function(t,e,n,i){if(i.from!==this.uid&&!r.node&&n.getDom()){var o=IV(i,n);this._ticket="";var a=i.dataByCoordSys,s=function(t,e,n){var i=Go(t).queryOptionMap,r=i.keys()[0];if(!r||"series"===r)return;var o=Yo(e,r,i.get(r),{useDefault:!1,enableAll:!1,enableNone:!1}),a=o.models[0];if(!a)return;var s,l=n.getViewOfComponentModel(a);if(l.group.traverse((function(e){var n=rl(e).tooltipConfig;if(n&&n.name===t.name)return s=e,!0})),s)return{componentMainType:r,componentIndex:a.componentIndex,el:s}}(i,e,n);if(s){var l=s.el.getBoundingRect().clone();l.applyTransform(s.el.transform),this._tryShow({offsetX:l.x+l.width/2,offsetY:l.y+l.height/2,target:s.el,position:i.position,positionDefault:"bottom"},o)}else if(i.tooltip&&null!=i.x&&null!=i.y){var u=wV;u.x=i.x,u.y=i.y,u.update(),rl(u).tooltipConfig={name:null,option:i.tooltip},this._tryShow({offsetX:i.x,offsetY:i.y,target:u},o)}else if(a)this._tryShow({offsetX:i.x,offsetY:i.y,position:i.position,dataByCoordSys:a,tooltipOption:i.tooltipOption},o);else if(null!=i.seriesIndex){if(this._manuallyAxisShowTip(t,e,n,i))return;var h=PN(i,e),c=h.point[0],p=h.point[1];null!=c&&null!=p&&this._tryShow({offsetX:c,offsetY:p,target:h.el,position:i.position,positionDefault:"bottom"},o)}else null!=i.x&&null!=i.y&&(n.dispatchAction({type:"updateAxisPointer",x:i.x,y:i.y}),this._tryShow({offsetX:i.x,offsetY:i.y,position:i.position,target:n.getZr().findHover(i.x,i.y).target},o))}},e.prototype.manuallyHideTip=function(t,e,n,i){var r=this._tooltipContent;this._tooltipModel&&r.hideLater(this._tooltipModel.get("hideDelay")),this._lastX=this._lastY=this._lastDataByCoordSys=null,i.from!==this.uid&&this._hide(IV(i,n))},e.prototype._manuallyAxisShowTip=function(t,e,n,i){var r=i.seriesIndex,o=i.dataIndex,a=e.getComponent("axisPointer").coordSysAxesInfo;if(null!=r&&null!=o&&null!=a){var s=e.getSeriesByIndex(r);if(s)if("axis"===MV([s.getData().getItemModel(o),s,(s.coordinateSystem||{}).model],this._tooltipModel).get("trigger"))return n.dispatchAction({type:"updateAxisPointer",seriesIndex:r,dataIndex:o,position:i.position}),!0}},e.prototype._tryShow=function(t,e){var n=t.target;if(this._tooltipModel){this._lastX=t.offsetX,this._lastY=t.offsetY;var i=t.dataByCoordSys;if(i&&i.length)this._showAxisTooltip(i,t);else if(n){var r,o;if("legend"===rl(n).ssrType)return;this._lastDataByCoordSys=null,Oy(n,(function(t){return null!=rl(t).dataIndex?(r=t,!0):null!=rl(t).tooltipConfig?(o=t,!0):void 0}),!0),r?this._showSeriesItemTooltip(t,r,e):o?this._showComponentItemTooltip(t,o,e):this._hide(e)}else this._lastDataByCoordSys=null,this._hide(e)}},e.prototype._showOrMove=function(t,e){var n=t.get("showDelay");e=W(e,this),clearTimeout(this._showTimout),n>0?this._showTimout=setTimeout(e,n):e()},e.prototype._showAxisTooltip=function(t,e){var n=this._ecModel,i=this._tooltipModel,r=[e.offsetX,e.offsetY],o=MV([e.tooltipOption],i),a=this._renderMode,s=[],l=og("section",{blocks:[],noHeader:!0}),u=[],h=new yg;E(t,(function(t){E(t.dataByAxis,(function(t){var e=n.getComponent(t.axisDim+"Axis",t.axisIndex),r=t.value;if(e&&null!=r){var o=fN(r,e.axis,n,t.seriesDataIndices,t.valueLabelOpt),c=og("section",{header:o,noHeader:!ut(o),sortBlocks:!0,blocks:[]});l.blocks.push(c),E(t.seriesDataIndices,(function(l){var p=n.getSeriesByIndex(l.seriesIndex),d=l.dataIndexInside,f=p.getDataParams(d);if(!(f.dataIndex<0)){f.axisDim=t.axisDim,f.axisIndex=t.axisIndex,f.axisType=t.axisType,f.axisId=t.axisId,f.axisValue=S_(e.axis,{value:r}),f.axisValueLabel=o,f.marker=h.makeTooltipMarker("item",Sp(f.color),a);var g=bf(p.formatTooltip(d,!0,null)),y=g.frag;if(y){var v=MV([p],i).get("valueFormatter");c.blocks.push(v?A({valueFormatter:v},y):y)}g.text&&u.push(g.text),s.push(f)}}))}}))})),l.blocks.reverse(),u.reverse();var c=e.position,p=o.get("order"),d=cg(l,h,a,p,n.get("useUTC"),o.get("textStyle"));d&&u.unshift(d);var f="richText"===a?"\n\n":"
",g=u.join(f);this._showOrMove(o,(function(){this._updateContentNotChangedOnAxis(t,s)?this._updatePosition(o,c,r[0],r[1],this._tooltipContent,s):this._showTooltipContent(o,g,s,Math.random()+"",r[0],r[1],c,null,h)}))},e.prototype._showSeriesItemTooltip=function(t,e,n){var i=this._ecModel,r=rl(e),o=r.seriesIndex,a=i.getSeriesByIndex(o),s=r.dataModel||a,l=r.dataIndex,u=r.dataType,h=s.getData(u),c=this._renderMode,p=t.positionDefault,d=MV([h.getItemModel(l),s,a&&(a.coordinateSystem||{}).model],this._tooltipModel,p?{position:p}:null),f=d.get("trigger");if(null==f||"item"===f){var g=s.getDataParams(l,u),y=new yg;g.marker=y.makeTooltipMarker("item",Sp(g.color),c);var v=bf(s.formatTooltip(l,!1,u)),m=d.get("order"),x=d.get("valueFormatter"),_=v.frag,b=_?cg(x?A({valueFormatter:x},_):_,y,c,m,i.get("useUTC"),d.get("textStyle")):v.text,w="item_"+s.name+"_"+l;this._showOrMove(d,(function(){this._showTooltipContent(d,b,g,w,t.offsetX,t.offsetY,t.position,t.target,y)})),n({type:"showTip",dataIndexInside:l,dataIndex:h.getRawIndex(l),seriesIndex:o,from:this.uid})}},e.prototype._showComponentItemTooltip=function(t,e,n){var i="html"===this._renderMode,r=rl(e),o=r.tooltipConfig.option||{},a=o.encodeHTMLContent;if(U(o)){o={content:o,formatter:o},a=!0}a&&i&&o.content&&((o=T(o)).content=re(o.content));var s=[o],l=this._ecModel.getComponent(r.componentMainType,r.componentIndex);l&&s.push(l),s.push({formatter:o.content});var u=t.positionDefault,h=MV(s,this._tooltipModel,u?{position:u}:null),c=h.get("content"),p=Math.random()+"",d=new yg;this._showOrMove(h,(function(){var n=T(h.get("formatterParams")||{});this._showTooltipContent(h,c,n,p,t.offsetX,t.offsetY,t.position,e,d)})),n({type:"showTip",from:this.uid})},e.prototype._showTooltipContent=function(t,e,n,i,r,o,a,s,l){if(this._ticket="",t.get("showContent")&&t.get("show")){var u=this._tooltipContent;u.setEnterable(t.get("enterable"));var h=t.get("formatter");a=a||t.get("position");var c=e,p=this._getNearestPoint([r,o],n,t.get("trigger"),t.get("borderColor")).color;if(h)if(U(h)){var d=t.ecModel.get("useUTC"),f=Y(n)?n[0]:n;c=h,f&&f.axisType&&f.axisType.indexOf("time")>=0&&(c=Jc(f.axisValue,c,d)),c=bp(c,n,!0)}else if(X(h)){var g=W((function(e,i){e===this._ticket&&(u.setContent(i,l,t,p,a),this._updatePosition(t,a,r,o,u,n,s))}),this);this._ticket=i,c=h(n,i,g)}else c=h;u.setContent(c,l,t,p,a),u.show(t,p),this._updatePosition(t,a,r,o,u,n,s)}},e.prototype._getNearestPoint=function(t,e,n,i){return"axis"===n||Y(e)?{color:i||("html"===this._renderMode?"#fff":"none")}:Y(e)?void 0:{color:i||e.color||e.borderColor}},e.prototype._updatePosition=function(t,e,n,i,r,o,a){var s=this._api.getWidth(),l=this._api.getHeight();e=e||t.get("position");var u=r.getSize(),h=t.get("align"),c=t.get("verticalAlign"),p=a&&a.getBoundingRect().clone();if(a&&p.applyTransform(a.transform),X(e)&&(e=e([n,i],o,r.el,p,{viewSize:[s,l],contentSize:u.slice()})),Y(e))n=$r(e[0],s),i=$r(e[1],l);else if(q(e)){var d=e;d.width=u[0],d.height=u[1];var f=kp(d,{width:s,height:l});n=f.x,i=f.y,h=null,c=null}else if(U(e)&&a){var g=function(t,e,n,i){var r=n[0],o=n[1],a=Math.ceil(Math.SQRT2*i)+8,s=0,l=0,u=e.width,h=e.height;switch(t){case"inside":s=e.x+u/2-r/2,l=e.y+h/2-o/2;break;case"top":s=e.x+u/2-r/2,l=e.y-o-a;break;case"bottom":s=e.x+u/2-r/2,l=e.y+h+a;break;case"left":s=e.x-r-a,l=e.y+h/2-o/2;break;case"right":s=e.x+u+a,l=e.y+h/2-o/2}return[s,l]}(e,p,u,t.get("borderWidth"));n=g[0],i=g[1]}else{g=function(t,e,n,i,r,o,a){var s=n.getSize(),l=s[0],u=s[1];null!=o&&(t+l+o+2>i?t-=l+o:t+=o);null!=a&&(e+u+a>r?e-=u+a:e+=a);return[t,e]}(n,i,r,s,l,h?null:20,c?null:20);n=g[0],i=g[1]}if(h&&(n-=TV(h)?u[0]/2:"right"===h?u[0]:0),c&&(i-=TV(c)?u[1]/2:"bottom"===c?u[1]:0),sV(t)){g=function(t,e,n,i,r){var o=n.getSize(),a=o[0],s=o[1];return t=Math.min(t+a,i)-a,e=Math.min(e+s,r)-s,t=Math.max(t,0),e=Math.max(e,0),[t,e]}(n,i,r,s,l);n=g[0],i=g[1]}r.moveTo(n,i)},e.prototype._updateContentNotChangedOnAxis=function(t,e){var n=this._lastDataByCoordSys,i=this._cbParamsList,r=!!n&&n.length===t.length;return r&&E(n,(function(n,o){var a=n.dataByAxis||[],s=(t[o]||{}).dataByAxis||[];(r=r&&a.length===s.length)&&E(a,(function(t,n){var o=s[n]||{},a=t.seriesDataIndices||[],l=o.seriesDataIndices||[];(r=r&&t.value===o.value&&t.axisType===o.axisType&&t.axisId===o.axisId&&a.length===l.length)&&E(a,(function(t,e){var n=l[e];r=r&&t.seriesIndex===n.seriesIndex&&t.dataIndex===n.dataIndex})),i&&E(t.seriesDataIndices,(function(t){var n=t.seriesIndex,o=e[n],a=i[n];o&&a&&a.data!==o.data&&(r=!1)}))}))})),this._lastDataByCoordSys=t,this._cbParamsList=e,!!r},e.prototype._hide=function(t){this._lastDataByCoordSys=null,t({type:"hideTip",from:this.uid})},e.prototype.dispose=function(t,e){!r.node&&e.getDom()&&(Yg(this,"_updatePosition"),this._tooltipContent.dispose(),kN("itemTooltip",e))},e.type="tooltip",e}(Ag);function MV(t,e,n){var i,r=e.ecModel;n?(i=new Cc(n,r,r),i=new Cc(e.option,i,r)):i=e;for(var o=t.length-1;o>=0;o--){var a=t[o];a&&(a instanceof Cc&&(a=a.get("tooltip",!0)),U(a)&&(a={formatter:a}),a&&(i=new Cc(a,i,r)))}return i}function IV(t,e){return t.dispatchAction||W(e.dispatchAction,e)}function TV(t){return"center"===t||"middle"===t}var CV=["rect","polygon","keep","clear"];function DV(t,e){var n=To(t?t.brush:[]);if(n.length){var i=[];E(n,(function(t){var e=t.hasOwnProperty("toolbox")?t.toolbox:[];e instanceof Array&&(i=i.concat(e))}));var r=t&&t.toolbox;Y(r)&&(r=r[0]),r||(r={feature:{}},t.toolbox=[r]);var o=r.feature||(r.feature={}),a=o.brush||(o.brush={}),s=a.type||(a.type=[]);s.push.apply(s,i),function(t){var e={};E(t,(function(t){e[t]=1})),t.length=0,E(e,(function(e,n){t.push(n)}))}(s),e&&!s.length&&s.push.apply(s,CV)}}var AV=E;function kV(t){if(t)for(var e in t)if(t.hasOwnProperty(e))return!0}function LV(t,e,n){var i={};return AV(e,(function(e){var r,o=i[e]=((r=function(){}).prototype.__hidden=r.prototype,new r);AV(t[e],(function(t,i){if(kD.isValidType(i)){var r={type:i,visual:t};n&&n(r,e),o[i]=new kD(r),"opacity"===i&&((r=T(r)).type="colorAlpha",o.__hidden.__alphaForOpacity=new kD(r))}}))})),i}function PV(t,e,n){var i;E(n,(function(t){e.hasOwnProperty(t)&&kV(e[t])&&(i=!0)})),i&&E(n,(function(n){e.hasOwnProperty(n)&&kV(e[n])?t[n]=T(e[n]):delete t[n]}))}var OV={lineX:RV(0),lineY:RV(1),rect:{point:function(t,e,n){return t&&n.boundingRect.contain(t[0],t[1])},rect:function(t,e,n){return t&&n.boundingRect.intersect(t)}},polygon:{point:function(t,e,n){return t&&n.boundingRect.contain(t[0],t[1])&&P_(n.range,t[0],t[1])},rect:function(t,e,n){var i=n.range;if(!t||i.length<=1)return!1;var r=t.x,o=t.y,a=t.width,s=t.height,l=i[0];return!!(P_(i,r,o)||P_(i,r+a,o)||P_(i,r,o+s)||P_(i,r+a,o+s)||ze.create(t).contain(l[0],l[1])||Zh(r,o,r+a,o,i)||Zh(r,o,r,o+s,i)||Zh(r+a,o,r+a,o+s,i)||Zh(r,o+s,r+a,o+s,i))||void 0}}};function RV(t){var e=["x","y"],n=["width","height"];return{point:function(e,n,i){if(e){var r=i.range;return NV(e[t],r)}},rect:function(i,r,o){if(i){var a=o.range,s=[i[e[t]],i[e[t]]+i[n[t]]];return s[1]e[0][1]&&(e[0][1]=o[0]),o[1]e[1][1]&&(e[1][1]=o[1])}return e&&YV(e)}};function YV(t){return new ze(t[0][0],t[1][0],t[0][1]-t[0][0],t[1][1]-t[1][0])}var XV=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.init=function(t,e){this.ecModel=t,this.api=e,this.model,(this._brushController=new lL(e.getZr())).on("brush",W(this._onBrush,this)).mount()},e.prototype.render=function(t,e,n,i){this.model=t,this._updateController(t,e,n,i)},e.prototype.updateTransform=function(t,e,n,i){BV(e),this._updateController(t,e,n,i)},e.prototype.updateVisual=function(t,e,n,i){this.updateTransform(t,e,n,i)},e.prototype.updateView=function(t,e,n,i){this._updateController(t,e,n,i)},e.prototype._updateController=function(t,e,n,i){(!i||i.$from!==t.id)&&this._brushController.setPanels(t.brushTargetManager.makePanelOpts(n)).enableBrush(t.brushOption).updateCovers(t.areas.slice())},e.prototype.dispose=function(){this._brushController.dispose()},e.prototype._onBrush=function(t){var e=this.model.id,n=this.model.brushTargetManager.setOutputRanges(t.areas,this.ecModel);(!t.isEnd||t.removeOnClick)&&this.api.dispatchAction({type:"brush",brushId:e,areas:T(n),$from:e}),t.isEnd&&this.api.dispatchAction({type:"brushEnd",brushId:e,areas:T(n),$from:e})},e.type="brush",e}(Ag),UV=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n.areas=[],n.brushOption={},n}return n(e,t),e.prototype.optionUpdated=function(t,e){var n=this.option;!e&&PV(n,t,["inBrush","outOfBrush"]);var i=n.inBrush=n.inBrush||{};n.outOfBrush=n.outOfBrush||{color:"#ddd"},i.hasOwnProperty("liftZ")||(i.liftZ=5)},e.prototype.setAreas=function(t){t&&(this.areas=z(t,(function(t){return ZV(this.option,t)}),this))},e.prototype.setBrushOption=function(t){this.brushOption=ZV(this.option,t),this.brushType=this.brushOption.brushType},e.type="brush",e.dependencies=["geo","grid","xAxis","yAxis","parallel","series"],e.defaultOption={seriesIndex:"all",brushType:"rect",brushMode:"single",transformable:!0,brushStyle:{borderWidth:1,color:"rgba(210,219,238,0.3)",borderColor:"#D2DBEE"},throttleType:"fixRate",throttleDelay:0,removeOnClick:!0,z:1e4},e}(zp);function ZV(t,e){return C({brushType:t.brushType,brushMode:t.brushMode,transformable:t.transformable,brushStyle:new Cc(t.brushStyle).getItemStyle(),removeOnClick:t.removeOnClick,z:t.z},e,!0)}var jV=["rect","polygon","lineX","lineY","keep","clear"],qV=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n(e,t),e.prototype.render=function(t,e,n){var i,r,o;e.eachComponent({mainType:"brush"},(function(t){i=t.brushType,r=t.brushOption.brushMode||"single",o=o||!!t.areas.length})),this._brushType=i,this._brushMode=r,E(t.get("type",!0),(function(e){t.setIconStatus(e,("keep"===e?"multiple"===r:"clear"===e?o:e===i)?"emphasis":"normal")}))},e.prototype.updateView=function(t,e,n){this.render(t,e,n)},e.prototype.getIcons=function(){var t=this.model,e=t.get("icon",!0),n={};return E(t.get("type",!0),(function(t){e[t]&&(n[t]=e[t])})),n},e.prototype.onclick=function(t,e,n){var i=this._brushType,r=this._brushMode;"clear"===n?(e.dispatchAction({type:"axisAreaSelect",intervals:[]}),e.dispatchAction({type:"brush",command:"clear",areas:[]})):e.dispatchAction({type:"takeGlobalCursor",key:"brush",brushOption:{brushType:"keep"===n?i:i!==n&&n,brushMode:"keep"===n?"multiple"===r?"single":"multiple":r}})},e.getDefaultOption=function(t){return{show:!0,type:jV.slice(),icon:{rect:"M7.3,34.7 M0.4,10V-0.2h9.8 M89.6,10V-0.2h-9.8 M0.4,60v10.2h9.8 M89.6,60v10.2h-9.8 M12.3,22.4V10.5h13.1 M33.6,10.5h7.8 M49.1,10.5h7.8 M77.5,22.4V10.5h-13 M12.3,31.1v8.2 M77.7,31.1v8.2 M12.3,47.6v11.9h13.1 M33.6,59.5h7.6 M49.1,59.5 h7.7 M77.5,47.6v11.9h-13",polygon:"M55.2,34.9c1.7,0,3.1,1.4,3.1,3.1s-1.4,3.1-3.1,3.1 s-3.1-1.4-3.1-3.1S53.5,34.9,55.2,34.9z M50.4,51c1.7,0,3.1,1.4,3.1,3.1c0,1.7-1.4,3.1-3.1,3.1c-1.7,0-3.1-1.4-3.1-3.1 C47.3,52.4,48.7,51,50.4,51z M55.6,37.1l1.5-7.8 M60.1,13.5l1.6-8.7l-7.8,4 M59,19l-1,5.3 M24,16.1l6.4,4.9l6.4-3.3 M48.5,11.6 l-5.9,3.1 M19.1,12.8L9.7,5.1l1.1,7.7 M13.4,29.8l1,7.3l6.6,1.6 M11.6,18.4l1,6.1 M32.8,41.9 M26.6,40.4 M27.3,40.2l6.1,1.6 M49.9,52.1l-5.6-7.6l-4.9-1.2",lineX:"M15.2,30 M19.7,15.6V1.9H29 M34.8,1.9H40.4 M55.3,15.6V1.9H45.9 M19.7,44.4V58.1H29 M34.8,58.1H40.4 M55.3,44.4 V58.1H45.9 M12.5,20.3l-9.4,9.6l9.6,9.8 M3.1,29.9h16.5 M62.5,20.3l9.4,9.6L62.3,39.7 M71.9,29.9H55.4",lineY:"M38.8,7.7 M52.7,12h13.2v9 M65.9,26.6V32 M52.7,46.3h13.2v-9 M24.9,12H11.8v9 M11.8,26.6V32 M24.9,46.3H11.8v-9 M48.2,5.1l-9.3-9l-9.4,9.2 M38.9-3.9V12 M48.2,53.3l-9.3,9l-9.4-9.2 M38.9,62.3V46.4",keep:"M4,10.5V1h10.3 M20.7,1h6.1 M33,1h6.1 M55.4,10.5V1H45.2 M4,17.3v6.6 M55.6,17.3v6.6 M4,30.5V40h10.3 M20.7,40 h6.1 M33,40h6.1 M55.4,30.5V40H45.2 M21,18.9h62.9v48.6H21V18.9z",clear:"M22,14.7l30.9,31 M52.9,14.7L22,45.7 M4.7,16.8V4.2h13.1 M26,4.2h7.8 M41.6,4.2h7.8 M70.3,16.8V4.2H57.2 M4.7,25.9v8.6 M70.3,25.9v8.6 M4.7,43.2v12.6h13.1 M26,55.8h7.8 M41.6,55.8h7.8 M70.3,43.2v12.6H57.2"},title:t.getLocaleModel().get(["toolbox","brush","title"])}},e}(mz);var KV=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n.layoutMode={type:"box",ignoreSize:!0},n}return n(e,t),e.type="title",e.defaultOption={z:6,show:!0,text:"",target:"blank",subtext:"",subtarget:"blank",left:0,top:0,backgroundColor:"rgba(0,0,0,0)",borderColor:"#ccc",borderWidth:0,padding:5,itemGap:10,textStyle:{fontSize:18,fontWeight:"bold",color:"#464646"},subtextStyle:{fontSize:12,color:"#6E7079"}},e}(zp),$V=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.render=function(t,e,n){if(this.group.removeAll(),t.get("show")){var i=this.group,r=t.getModel("textStyle"),o=t.getModel("subtextStyle"),a=t.get("textAlign"),s=rt(t.get("textBaseline"),t.get("textVerticalAlign")),l=new Xs({style:oc(r,{text:t.get("text"),fill:r.getTextColor()},{disableBox:!0}),z2:10}),u=l.getBoundingRect(),h=t.get("subtext"),c=new Xs({style:oc(o,{text:h,fill:o.getTextColor(),y:u.height+t.get("itemGap"),verticalAlign:"top"},{disableBox:!0}),z2:10}),p=t.get("link"),d=t.get("sublink"),f=t.get("triggerEvent",!0);l.silent=!p&&!f,c.silent=!d&&!f,p&&l.on("click",(function(){Mp(p,"_"+t.get("target"))})),d&&c.on("click",(function(){Mp(d,"_"+t.get("subtarget"))})),rl(l).eventData=rl(c).eventData=f?{componentType:"title",componentIndex:t.componentIndex}:null,i.add(l),h&&i.add(c);var g=i.getBoundingRect(),y=t.getBoxLayoutParams();y.width=g.width,y.height=g.height;var v=kp(y,{width:n.getWidth(),height:n.getHeight()},t.get("padding"));a||("middle"===(a=t.get("left")||t.get("right"))&&(a="center"),"right"===a?v.x+=v.width:"center"===a&&(v.x+=v.width/2)),s||("center"===(s=t.get("top")||t.get("bottom"))&&(s="middle"),"bottom"===s?v.y+=v.height:"middle"===s&&(v.y+=v.height/2),s=s||"top"),i.x=v.x,i.y=v.y,i.markRedraw();var m={align:a,verticalAlign:s};l.setStyle(m),c.setStyle(m),g=i.getBoundingRect();var x=v.margin,_=t.getItemStyle(["color","opacity"]);_.fill=t.get("backgroundColor");var b=new Ws({shape:{x:g.x-x[3],y:g.y-x[0],width:g.width+x[1]+x[3],height:g.height+x[0]+x[2],r:t.get("borderRadius")},style:_,subPixelOptimize:!0,silent:!0});i.add(b)}},e.type="title",e}(Ag);var JV=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n.layoutMode="box",n}return n(e,t),e.prototype.init=function(t,e,n){this.mergeDefaultAndTheme(t,n),this._initData()},e.prototype.mergeOption=function(e){t.prototype.mergeOption.apply(this,arguments),this._initData()},e.prototype.setCurrentIndex=function(t){null==t&&(t=this.option.currentIndex);var e=this._data.count();this.option.loop?t=(t%e+e)%e:(t>=e&&(t=e-1),t<0&&(t=0)),this.option.currentIndex=t},e.prototype.getCurrentIndex=function(){return this.option.currentIndex},e.prototype.isIndexMax=function(){return this.getCurrentIndex()>=this._data.count()-1},e.prototype.setPlayState=function(t){this.option.autoPlay=!!t},e.prototype.getPlayState=function(){return!!this.option.autoPlay},e.prototype._initData=function(){var t,e=this.option,n=e.data||[],i=e.axisType,r=this._names=[];"category"===i?(t=[],E(n,(function(e,n){var i,o=Ro(Ao(e),"");q(e)?(i=T(e)).value=n:i=n,t.push(i),r.push(o)}))):t=n;var o={category:"ordinal",time:"time",value:"number"}[i]||"number";(this._data=new cx([{name:"value",type:o}],this)).initData(t,r)},e.prototype.getData=function(){return this._data},e.prototype.getCategories=function(){if("category"===this.get("axisType"))return this._names.slice()},e.type="timeline",e.defaultOption={z:4,show:!0,axisType:"time",realtime:!0,left:"20%",top:null,right:"20%",bottom:0,width:null,height:40,padding:5,controlPosition:"left",autoPlay:!1,rewind:!1,loop:!0,playInterval:2e3,currentIndex:0,itemStyle:{},label:{color:"#000"},data:[]},e}(zp),QV=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.type="timeline.slider",e.defaultOption=kc(JV.defaultOption,{backgroundColor:"rgba(0,0,0,0)",borderColor:"#ccc",borderWidth:0,orient:"horizontal",inverse:!1,tooltip:{trigger:"item"},symbol:"circle",symbolSize:12,lineStyle:{show:!0,width:2,color:"#DAE1F5"},label:{position:"auto",show:!0,interval:"auto",rotate:0,color:"#A4B1D7"},itemStyle:{color:"#A4B1D7",borderWidth:1},checkpointStyle:{symbol:"circle",symbolSize:15,color:"#316bf3",borderColor:"#fff",borderWidth:2,shadowBlur:2,shadowOffsetX:1,shadowOffsetY:1,shadowColor:"rgba(0, 0, 0, 0.3)",animation:!0,animationDuration:300,animationEasing:"quinticInOut"},controlStyle:{show:!0,showPlayBtn:!0,showPrevBtn:!0,showNextBtn:!0,itemSize:24,itemGap:12,position:"left",playIcon:"path://M31.6,53C17.5,53,6,41.5,6,27.4S17.5,1.8,31.6,1.8C45.7,1.8,57.2,13.3,57.2,27.4S45.7,53,31.6,53z M31.6,3.3 C18.4,3.3,7.5,14.1,7.5,27.4c0,13.3,10.8,24.1,24.1,24.1C44.9,51.5,55.7,40.7,55.7,27.4C55.7,14.1,44.9,3.3,31.6,3.3z M24.9,21.3 c0-2.2,1.6-3.1,3.5-2l10.5,6.1c1.899,1.1,1.899,2.9,0,4l-10.5,6.1c-1.9,1.1-3.5,0.2-3.5-2V21.3z",stopIcon:"path://M30.9,53.2C16.8,53.2,5.3,41.7,5.3,27.6S16.8,2,30.9,2C45,2,56.4,13.5,56.4,27.6S45,53.2,30.9,53.2z M30.9,3.5C17.6,3.5,6.8,14.4,6.8,27.6c0,13.3,10.8,24.1,24.101,24.1C44.2,51.7,55,40.9,55,27.6C54.9,14.4,44.1,3.5,30.9,3.5z M36.9,35.8c0,0.601-0.4,1-0.9,1h-1.3c-0.5,0-0.9-0.399-0.9-1V19.5c0-0.6,0.4-1,0.9-1H36c0.5,0,0.9,0.4,0.9,1V35.8z M27.8,35.8 c0,0.601-0.4,1-0.9,1h-1.3c-0.5,0-0.9-0.399-0.9-1V19.5c0-0.6,0.4-1,0.9-1H27c0.5,0,0.9,0.4,0.9,1L27.8,35.8L27.8,35.8z",nextIcon:"M2,18.5A1.52,1.52,0,0,1,.92,18a1.49,1.49,0,0,1,0-2.12L7.81,9.36,1,3.11A1.5,1.5,0,1,1,3,.89l8,7.34a1.48,1.48,0,0,1,.49,1.09,1.51,1.51,0,0,1-.46,1.1L3,18.08A1.5,1.5,0,0,1,2,18.5Z",prevIcon:"M10,.5A1.52,1.52,0,0,1,11.08,1a1.49,1.49,0,0,1,0,2.12L4.19,9.64,11,15.89a1.5,1.5,0,1,1-2,2.22L1,10.77A1.48,1.48,0,0,1,.5,9.68,1.51,1.51,0,0,1,1,8.58L9,.92A1.5,1.5,0,0,1,10,.5Z",prevBtnSize:18,nextBtnSize:18,color:"#A4B1D7",borderColor:"#A4B1D7",borderWidth:1},emphasis:{label:{show:!0,color:"#6f778d"},itemStyle:{color:"#316BF3"},controlStyle:{color:"#316BF3",borderColor:"#316BF3",borderWidth:2}},progress:{lineStyle:{color:"#316BF3"},itemStyle:{color:"#316BF3"},label:{color:"#6f778d"}},data:[]}),e}(JV);R(QV,_f.prototype);var tB=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.type="timeline",e}(Ag),eB=function(t){function e(e,n,i,r){var o=t.call(this,e,n,i)||this;return o.type=r||"value",o}return n(e,t),e.prototype.getLabelModel=function(){return this.model.getModel("label")},e.prototype.isHorizontal=function(){return"horizontal"===this.model.get("orient")},e}(ab),nB=Math.PI,iB=Vo(),rB=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.init=function(t,e){this.api=e},e.prototype.render=function(t,e,n){if(this.model=t,this.api=n,this.ecModel=e,this.group.removeAll(),t.get("show",!0)){var i=this._layout(t,n),r=this._createGroup("_mainGroup"),o=this._createGroup("_labelGroup"),a=this._axis=this._createAxis(i,t);t.formatTooltip=function(t){return og("nameValue",{noName:!0,value:a.scale.getLabel({value:t})})},E(["AxisLine","AxisTick","Control","CurrentPointer"],(function(e){this["_render"+e](i,r,a,t)}),this),this._renderAxisLabel(i,o,a,t),this._position(i,t)}this._doPlayStop(),this._updateTicksStatus()},e.prototype.remove=function(){this._clearTimer(),this.group.removeAll()},e.prototype.dispose=function(){this._clearTimer()},e.prototype._layout=function(t,e){var n,i,r,o,a=t.get(["label","position"]),s=t.get("orient"),l=function(t,e){return kp(t.getBoxLayoutParams(),{width:e.getWidth(),height:e.getHeight()},t.get("padding"))}(t,e),u={horizontal:"center",vertical:(n=null==a||"auto"===a?"horizontal"===s?l.y+l.height/2=0||"+"===n?"left":"right"},h={horizontal:n>=0||"+"===n?"top":"bottom",vertical:"middle"},c={horizontal:0,vertical:nB/2},p="vertical"===s?l.height:l.width,d=t.getModel("controlStyle"),f=d.get("show",!0),g=f?d.get("itemSize"):0,y=f?d.get("itemGap"):0,v=g+y,m=t.get(["label","rotate"])||0;m=m*nB/180;var x=d.get("position",!0),_=f&&d.get("showPlayBtn",!0),b=f&&d.get("showPrevBtn",!0),w=f&&d.get("showNextBtn",!0),S=0,M=p;"left"===x||"bottom"===x?(_&&(i=[0,0],S+=v),b&&(r=[S,0],S+=v),w&&(o=[M-g,0],M-=v)):(_&&(i=[M-g,0],M-=v),b&&(r=[0,0],S+=v),w&&(o=[M-g,0],M-=v));var I=[S,M];return t.get("inverse")&&I.reverse(),{viewRect:l,mainLength:p,orient:s,rotation:c[s],labelRotation:m,labelPosOpt:n,labelAlign:t.get(["label","align"])||u[s],labelBaseline:t.get(["label","verticalAlign"])||t.get(["label","baseline"])||h[s],playPosition:i,prevBtnPosition:r,nextBtnPosition:o,axisExtent:I,controlSize:g,controlGap:y}},e.prototype._position=function(t,e){var n=this._mainGroup,i=this._labelGroup,r=t.viewRect;if("vertical"===t.orient){var o=[1,0,0,1,0,0],a=r.x,s=r.y+r.height;we(o,o,[-a,-s]),Se(o,o,-nB/2),we(o,o,[a,s]),(r=r.clone()).applyTransform(o)}var l=y(r),u=y(n.getBoundingRect()),h=y(i.getBoundingRect()),c=[n.x,n.y],p=[i.x,i.y];p[0]=c[0]=l[0][0];var d,f=t.labelPosOpt;null==f||U(f)?(v(c,u,l,1,d="+"===f?0:1),v(p,h,l,1,1-d)):(v(c,u,l,1,d=f>=0?0:1),p[1]=c[1]+f);function g(t){t.originX=l[0][0]-t.x,t.originY=l[1][0]-t.y}function y(t){return[[t.x,t.x+t.width],[t.y,t.y+t.height]]}function v(t,e,n,i,r){t[i]+=n[i][r]-e[i][r]}n.setPosition(c),i.setPosition(p),n.rotation=i.rotation=t.rotation,g(n),g(i)},e.prototype._createAxis=function(t,e){var n=e.getData(),i=e.get("axisType"),r=function(t,e){if(e=e||t.get("type"),e)switch(e){case"category":return new Rx({ordinalMeta:t.getCategories(),extent:[1/0,-1/0]});case"time":return new Kx({locale:t.ecModel.getLocaleModel(),useUTC:t.ecModel.get("useUTC")});default:return new Ex}}(e,i);r.getTicks=function(){return n.mapArray(["value"],(function(t){return{value:t}}))};var o=n.getDataExtent("value");r.setExtent(o[0],o[1]),r.calcNiceTicks();var a=new eB("value",r,t.axisExtent,i);return a.model=e,a},e.prototype._createGroup=function(t){var e=this[t]=new Br;return this.group.add(e),e},e.prototype._renderAxisLine=function(t,e,n,i){var r=n.getExtent();if(i.get(["lineStyle","show"])){var o=new Ku({shape:{x1:r[0],y1:0,x2:r[1],y2:0},style:A({lineCap:"round"},i.getModel("lineStyle").getLineStyle()),silent:!0,z2:1});e.add(o);var a=this._progressLine=new Ku({shape:{x1:r[0],x2:this._currentPointer?this._currentPointer.x:r[0],y1:0,y2:0},style:k({lineCap:"round",lineWidth:o.style.lineWidth},i.getModel(["progress","lineStyle"]).getLineStyle()),silent:!0,z2:1});e.add(a)}},e.prototype._renderAxisTick=function(t,e,n,i){var r=this,o=i.getData(),a=n.scale.getTicks();this._tickSymbols=[],E(a,(function(t){var a=n.dataToCoord(t.value),s=o.getItemModel(t.value),l=s.getModel("itemStyle"),u=s.getModel(["emphasis","itemStyle"]),h=s.getModel(["progress","itemStyle"]),c={x:a,y:0,onclick:W(r._changeTimeline,r,t.value)},p=oB(s,l,e,c);p.ensureState("emphasis").style=u.getItemStyle(),p.ensureState("progress").style=h.getItemStyle(),Ul(p);var d=rl(p);s.get("tooltip")?(d.dataIndex=t.value,d.dataModel=i):d.dataIndex=d.dataModel=null,r._tickSymbols.push(p)}))},e.prototype._renderAxisLabel=function(t,e,n,i){var r=this;if(n.getLabelModel().get("show")){var o=i.getData(),a=n.getViewLabels();this._tickLabels=[],E(a,(function(i){var a=i.tickValue,s=o.getItemModel(a),l=s.getModel("label"),u=s.getModel(["emphasis","label"]),h=s.getModel(["progress","label"]),c=n.dataToCoord(i.tickValue),p=new Xs({x:c,y:0,rotation:t.labelRotation-t.rotation,onclick:W(r._changeTimeline,r,a),silent:!1,style:oc(l,{text:i.formattedLabel,align:t.labelAlign,verticalAlign:t.labelBaseline})});p.ensureState("emphasis").style=oc(u),p.ensureState("progress").style=oc(h),e.add(p),Ul(p),iB(p).dataIndex=a,r._tickLabels.push(p)}))}},e.prototype._renderControl=function(t,e,n,i){var r=t.controlSize,o=t.rotation,a=i.getModel("controlStyle").getItemStyle(),s=i.getModel(["emphasis","controlStyle"]).getItemStyle(),l=i.getPlayState(),u=i.get("inverse",!0);function h(t,n,l,u){if(t){var h=Cr(rt(i.get(["controlStyle",n+"BtnSize"]),r),r),c=function(t,e,n,i){var r=i.style,o=Uh(t.get(["controlStyle",e]),i||{},new ze(n[0],n[1],n[2],n[3]));r&&o.setStyle(r);return o}(i,n+"Icon",[0,-h/2,h,h],{x:t[0],y:t[1],originX:r/2,originY:0,rotation:u?-o:0,rectHover:!0,style:a,onclick:l});c.ensureState("emphasis").style=s,e.add(c),Ul(c)}}h(t.nextBtnPosition,"next",W(this._changeTimeline,this,u?"-":"+")),h(t.prevBtnPosition,"prev",W(this._changeTimeline,this,u?"+":"-")),h(t.playPosition,l?"stop":"play",W(this._handlePlayClick,this,!l),!0)},e.prototype._renderCurrentPointer=function(t,e,n,i){var r=i.getData(),o=i.getCurrentIndex(),a=r.getItemModel(o).getModel("checkpointStyle"),s=this,l={onCreate:function(t){t.draggable=!0,t.drift=W(s._handlePointerDrag,s),t.ondragend=W(s._handlePointerDragend,s),aB(t,s._progressLine,o,n,i,!0)},onUpdate:function(t){aB(t,s._progressLine,o,n,i)}};this._currentPointer=oB(a,a,this._mainGroup,{},this._currentPointer,l)},e.prototype._handlePlayClick=function(t){this._clearTimer(),this.api.dispatchAction({type:"timelinePlayChange",playState:t,from:this.uid})},e.prototype._handlePointerDrag=function(t,e,n){this._clearTimer(),this._pointerChangeTimeline([n.offsetX,n.offsetY])},e.prototype._handlePointerDragend=function(t){this._pointerChangeTimeline([t.offsetX,t.offsetY],!0)},e.prototype._pointerChangeTimeline=function(t,e){var n=this._toAxisCoord(t)[0],i=Qr(this._axis.getExtent().slice());n>i[1]&&(n=i[1]),n=0&&(a[o]=+a[o].toFixed(c)),[a,h]}var vB={min:H(yB,"min"),max:H(yB,"max"),average:H(yB,"average"),median:H(yB,"median")};function mB(t,e){if(e){var n=t.getData(),i=t.coordinateSystem,r=i&&i.dimensions;if(!function(t){return!isNaN(parseFloat(t.x))&&!isNaN(parseFloat(t.y))}(e)&&!Y(e.coord)&&Y(r)){var o=xB(e,n,i,t);if((e=T(e)).type&&vB[e.type]&&o.baseAxis&&o.valueAxis){var a=P(r,o.baseAxis.dim),s=P(r,o.valueAxis.dim),l=vB[e.type](n,o.baseDataDim,o.valueDataDim,a,s);e.coord=l[0],e.value=l[1]}else e.coord=[null!=e.xAxis?e.xAxis:e.radiusAxis,null!=e.yAxis?e.yAxis:e.angleAxis]}if(null!=e.coord&&Y(r))for(var u=e.coord,h=0;h<2;h++)vB[u[h]]&&(u[h]=wB(n,n.mapDimension(r[h]),u[h]));else e.coord=[];return e}}function xB(t,e,n,i){var r={};return null!=t.valueIndex||null!=t.valueDim?(r.valueDataDim=null!=t.valueIndex?e.getDimension(t.valueIndex):t.valueDim,r.valueAxis=n.getAxis(function(t,e){var n=t.getData().getDimensionInfo(e);return n&&n.coordDim}(i,r.valueDataDim)),r.baseAxis=n.getOtherAxis(r.valueAxis),r.baseDataDim=e.mapDimension(r.baseAxis.dim)):(r.baseAxis=i.getBaseAxis(),r.valueAxis=n.getOtherAxis(r.baseAxis),r.baseDataDim=e.mapDimension(r.baseAxis.dim),r.valueDataDim=e.mapDimension(r.valueAxis.dim)),r}function _B(t,e){return!(t&&t.containData&&e.coord&&!gB(e))||t.containData(e.coord)}function bB(t,e){return t?function(t,n,i,r){return If(r<2?t.coord&&t.coord[r]:t.value,e[r])}:function(t,n,i,r){return If(t.value,e[r])}}function wB(t,e,n){if("average"===n){var i=0,r=0;return t.each(e,(function(t,e){isNaN(t)||(i+=t,r++)})),i/r}return"median"===n?t.getMedian(e):t.getDataExtent(e)["max"===n?1:0]}var SB=Vo(),MB=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.init=function(){this.markerGroupMap=yt()},e.prototype.render=function(t,e,n){var i=this,r=this.markerGroupMap;r.each((function(t){SB(t).keep=!1})),e.eachSeries((function(t){var r=dB.getMarkerModelFromSeries(t,i.type);r&&i.renderSeries(t,r,e,n)})),r.each((function(t){!SB(t).keep&&i.group.remove(t.group)}))},e.prototype.markKeep=function(t){SB(t).keep=!0},e.prototype.toggleBlurSeries=function(t,e){var n=this;E(t,(function(t){var i=dB.getMarkerModelFromSeries(t,n.type);i&&i.getData().eachItemGraphicEl((function(t){t&&(e?Nl(t):El(t))}))}))},e.type="marker",e}(Ag);function IB(t,e,n){var i=e.coordinateSystem;t.each((function(r){var o,a=t.getItemModel(r),s=$r(a.get("x"),n.getWidth()),l=$r(a.get("y"),n.getHeight());if(isNaN(s)||isNaN(l)){if(e.getMarkerPosition)o=e.getMarkerPosition(t.getValues(t.dimensions,r));else if(i){var u=t.get(i.dimensions[0],r),h=t.get(i.dimensions[1],r);o=i.dataToPoint([u,h])}}else o=[s,l];isNaN(s)||(o[0]=s),isNaN(l)||(o[1]=l),t.setItemLayout(r,o)}))}var TB=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.updateTransform=function(t,e,n){e.eachSeries((function(t){var e=dB.getMarkerModelFromSeries(t,"markPoint");e&&(IB(e.getData(),t,n),this.markerGroupMap.get(t.id).updateLayout())}),this)},e.prototype.renderSeries=function(t,e,n,i){var r=t.coordinateSystem,o=t.id,a=t.getData(),s=this.markerGroupMap,l=s.get(o)||s.set(o,new xS),u=function(t,e,n){var i;i=t?z(t&&t.dimensions,(function(t){return A(A({},e.getData().getDimensionInfo(e.getData().mapDimension(t))||{}),{name:t,ordinalMeta:null})})):[{name:"value",type:"float"}];var r=new cx(i,n),o=z(n.get("data"),H(mB,e));t&&(o=B(o,H(_B,t)));var a=bB(!!t,i);return r.initData(o,null,a),r}(r,t,e);e.setData(u),IB(e.getData(),t,i),u.each((function(t){var n=u.getItemModel(t),i=n.getShallow("symbol"),r=n.getShallow("symbolSize"),o=n.getShallow("symbolRotate"),s=n.getShallow("symbolOffset"),l=n.getShallow("symbolKeepAspect");if(X(i)||X(r)||X(o)||X(s)){var h=e.getRawValue(t),c=e.getDataParams(t);X(i)&&(i=i(h,c)),X(r)&&(r=r(h,c)),X(o)&&(o=o(h,c)),X(s)&&(s=s(h,c))}var p=n.getModel("itemStyle").getItemStyle(),d=Ay(a,"color");p.fill||(p.fill=d),u.setItemVisual(t,{symbol:i,symbolSize:r,symbolRotate:o,symbolOffset:s,symbolKeepAspect:l,style:p})})),l.updateData(u),this.group.add(l.group),u.eachItemGraphicEl((function(t){t.traverse((function(t){rl(t).dataModel=e}))})),this.markKeep(l),l.group.silent=e.get("silent")||t.get("silent")},e.type="markPoint",e}(MB);var CB=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.createMarkerModelFromSeries=function(t,n,i){return new e(t,n,i)},e.type="markLine",e.defaultOption={z:5,symbol:["circle","arrow"],symbolSize:[8,16],symbolOffset:0,precision:2,tooltip:{trigger:"item"},label:{show:!0,position:"end",distance:5},lineStyle:{type:"dashed"},emphasis:{label:{show:!0},lineStyle:{width:3}},animationEasing:"linear"},e}(dB),DB=Vo(),AB=function(t,e,n,i){var r,o=t.getData();if(Y(i))r=i;else{var a=i.type;if("min"===a||"max"===a||"average"===a||"median"===a||null!=i.xAxis||null!=i.yAxis){var s=void 0,l=void 0;if(null!=i.yAxis||null!=i.xAxis)s=e.getAxis(null!=i.yAxis?"y":"x"),l=it(i.yAxis,i.xAxis);else{var u=xB(i,o,e,t);s=u.valueAxis,l=wB(o,xx(o,u.valueDataDim),a)}var h="x"===s.dim?0:1,c=1-h,p=T(i),d={coord:[]};p.type=null,p.coord=[],p.coord[c]=-1/0,d.coord[c]=1/0;var f=n.get("precision");f>=0&&j(l)&&(l=+l.toFixed(Math.min(f,20))),p.coord[h]=d.coord[h]=l,r=[p,d,{type:a,valueIndex:i.valueIndex,value:l}]}else r=[]}var g=[mB(t,r[0]),mB(t,r[1]),A({},r[2])];return g[2].type=g[2].type||null,C(g[2],g[0]),C(g[2],g[1]),g};function kB(t){return!isNaN(t)&&!isFinite(t)}function LB(t,e,n,i){var r=1-t,o=i.dimensions[t];return kB(e[r])&&kB(n[r])&&e[t]===n[t]&&i.getAxis(o).containData(e[t])}function PB(t,e){if("cartesian2d"===t.type){var n=e[0].coord,i=e[1].coord;if(n&&i&&(LB(1,n,i,t)||LB(0,n,i,t)))return!0}return _B(t,e[0])&&_B(t,e[1])}function OB(t,e,n,i,r){var o,a=i.coordinateSystem,s=t.getItemModel(e),l=$r(s.get("x"),r.getWidth()),u=$r(s.get("y"),r.getHeight());if(isNaN(l)||isNaN(u)){if(i.getMarkerPosition)o=i.getMarkerPosition(t.getValues(t.dimensions,e));else{var h=a.dimensions,c=t.get(h[0],e),p=t.get(h[1],e);o=a.dataToPoint([c,p])}if(OS(a,"cartesian2d")){var d=a.getAxis("x"),f=a.getAxis("y");h=a.dimensions;kB(t.get(h[0],e))?o[0]=d.toGlobalCoord(d.getExtent()[n?0:1]):kB(t.get(h[1],e))&&(o[1]=f.toGlobalCoord(f.getExtent()[n?0:1]))}isNaN(l)||(o[0]=l),isNaN(u)||(o[1]=u)}else o=[l,u];t.setItemLayout(e,o)}var RB=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.updateTransform=function(t,e,n){e.eachSeries((function(t){var e=dB.getMarkerModelFromSeries(t,"markLine");if(e){var i=e.getData(),r=DB(e).from,o=DB(e).to;r.each((function(e){OB(r,e,!0,t,n),OB(o,e,!1,t,n)})),i.each((function(t){i.setItemLayout(t,[r.getItemLayout(t),o.getItemLayout(t)])})),this.markerGroupMap.get(t.id).updateLayout()}}),this)},e.prototype.renderSeries=function(t,e,n,i){var r=t.coordinateSystem,o=t.id,a=t.getData(),s=this.markerGroupMap,l=s.get(o)||s.set(o,new YA);this.group.add(l.group);var u=function(t,e,n){var i;i=t?z(t&&t.dimensions,(function(t){return A(A({},e.getData().getDimensionInfo(e.getData().mapDimension(t))||{}),{name:t,ordinalMeta:null})})):[{name:"value",type:"float"}];var r=new cx(i,n),o=new cx(i,n),a=new cx([],n),s=z(n.get("data"),H(AB,e,t,n));t&&(s=B(s,H(PB,t)));var l=bB(!!t,i);return r.initData(z(s,(function(t){return t[0]})),null,l),o.initData(z(s,(function(t){return t[1]})),null,l),a.initData(z(s,(function(t){return t[2]}))),a.hasItemOption=!0,{from:r,to:o,line:a}}(r,t,e),h=u.from,c=u.to,p=u.line;DB(e).from=h,DB(e).to=c,e.setData(p);var d=e.get("symbol"),f=e.get("symbolSize"),g=e.get("symbolRotate"),y=e.get("symbolOffset");function v(e,n,r){var o=e.getItemModel(n);OB(e,n,r,t,i);var s=o.getModel("itemStyle").getItemStyle();null==s.fill&&(s.fill=Ay(a,"color")),e.setItemVisual(n,{symbolKeepAspect:o.get("symbolKeepAspect"),symbolOffset:rt(o.get("symbolOffset",!0),y[r?0:1]),symbolRotate:rt(o.get("symbolRotate",!0),g[r?0:1]),symbolSize:rt(o.get("symbolSize"),f[r?0:1]),symbol:rt(o.get("symbol",!0),d[r?0:1]),style:s})}Y(d)||(d=[d,d]),Y(f)||(f=[f,f]),Y(g)||(g=[g,g]),Y(y)||(y=[y,y]),u.from.each((function(t){v(h,t,!0),v(c,t,!1)})),p.each((function(t){var e=p.getItemModel(t).getModel("lineStyle").getLineStyle();p.setItemLayout(t,[h.getItemLayout(t),c.getItemLayout(t)]),null==e.stroke&&(e.stroke=h.getItemVisual(t,"style").fill),p.setItemVisual(t,{fromSymbolKeepAspect:h.getItemVisual(t,"symbolKeepAspect"),fromSymbolOffset:h.getItemVisual(t,"symbolOffset"),fromSymbolRotate:h.getItemVisual(t,"symbolRotate"),fromSymbolSize:h.getItemVisual(t,"symbolSize"),fromSymbol:h.getItemVisual(t,"symbol"),toSymbolKeepAspect:c.getItemVisual(t,"symbolKeepAspect"),toSymbolOffset:c.getItemVisual(t,"symbolOffset"),toSymbolRotate:c.getItemVisual(t,"symbolRotate"),toSymbolSize:c.getItemVisual(t,"symbolSize"),toSymbol:c.getItemVisual(t,"symbol"),style:e})})),l.updateData(p),u.line.eachItemGraphicEl((function(t){rl(t).dataModel=e,t.traverse((function(t){rl(t).dataModel=e}))})),this.markKeep(l),l.group.silent=e.get("silent")||t.get("silent")},e.type="markLine",e}(MB);var NB=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.createMarkerModelFromSeries=function(t,n,i){return new e(t,n,i)},e.type="markArea",e.defaultOption={z:1,tooltip:{trigger:"item"},animation:!1,label:{show:!0,position:"top"},itemStyle:{borderWidth:0},emphasis:{label:{show:!0,position:"top"}}},e}(dB),EB=Vo(),zB=function(t,e,n,i){var r=i[0],o=i[1];if(r&&o){var a=mB(t,r),s=mB(t,o),l=a.coord,u=s.coord;l[0]=it(l[0],-1/0),l[1]=it(l[1],-1/0),u[0]=it(u[0],1/0),u[1]=it(u[1],1/0);var h=D([{},a,s]);return h.coord=[a.coord,s.coord],h.x0=a.x,h.y0=a.y,h.x1=s.x,h.y1=s.y,h}};function VB(t){return!isNaN(t)&&!isFinite(t)}function BB(t,e,n,i){var r=1-t;return VB(e[r])&&VB(n[r])}function FB(t,e){var n=e.coord[0],i=e.coord[1],r={coord:n,x:e.x0,y:e.y0},o={coord:i,x:e.x1,y:e.y1};return OS(t,"cartesian2d")?!(!n||!i||!BB(1,n,i)&&!BB(0,n,i))||function(t,e,n){return!(t&&t.containZone&&e.coord&&n.coord&&!gB(e)&&!gB(n))||t.containZone(e.coord,n.coord)}(t,r,o):_B(t,r)||_B(t,o)}function GB(t,e,n,i,r){var o,a=i.coordinateSystem,s=t.getItemModel(e),l=$r(s.get(n[0]),r.getWidth()),u=$r(s.get(n[1]),r.getHeight());if(isNaN(l)||isNaN(u)){if(i.getMarkerPosition){var h=t.getValues(["x0","y0"],e),c=t.getValues(["x1","y1"],e),p=a.clampData(h),d=a.clampData(c),f=[];"x0"===n[0]?f[0]=p[0]>d[0]?c[0]:h[0]:f[0]=p[0]>d[0]?h[0]:c[0],"y0"===n[1]?f[1]=p[1]>d[1]?c[1]:h[1]:f[1]=p[1]>d[1]?h[1]:c[1],o=i.getMarkerPosition(f,n,!0)}else{var g=[m=t.get(n[0],e),x=t.get(n[1],e)];a.clampData&&a.clampData(g,g),o=a.dataToPoint(g,!0)}if(OS(a,"cartesian2d")){var y=a.getAxis("x"),v=a.getAxis("y"),m=t.get(n[0],e),x=t.get(n[1],e);VB(m)?o[0]=y.toGlobalCoord(y.getExtent()["x0"===n[0]?0:1]):VB(x)&&(o[1]=v.toGlobalCoord(v.getExtent()["y0"===n[1]?0:1]))}isNaN(l)||(o[0]=l),isNaN(u)||(o[1]=u)}else o=[l,u];return o}var WB=[["x0","y0"],["x1","y0"],["x1","y1"],["x0","y1"]],HB=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.updateTransform=function(t,e,n){e.eachSeries((function(t){var e=dB.getMarkerModelFromSeries(t,"markArea");if(e){var i=e.getData();i.each((function(e){var r=z(WB,(function(r){return GB(i,e,r,t,n)}));i.setItemLayout(e,r),i.getItemGraphicEl(e).setShape("points",r)}))}}),this)},e.prototype.renderSeries=function(t,e,n,i){var r=t.coordinateSystem,o=t.id,a=t.getData(),s=this.markerGroupMap,l=s.get(o)||s.set(o,{group:new Br});this.group.add(l.group),this.markKeep(l);var u=function(t,e,n){var i,r,o=["x0","y0","x1","y1"];if(t){var a=z(t&&t.dimensions,(function(t){var n=e.getData();return A(A({},n.getDimensionInfo(n.mapDimension(t))||{}),{name:t,ordinalMeta:null})}));r=z(o,(function(t,e){return{name:t,type:a[e%2].type}})),i=new cx(r,n)}else i=new cx(r=[{name:"value",type:"float"}],n);var s=z(n.get("data"),H(zB,e,t,n));t&&(s=B(s,H(FB,t)));var l=t?function(t,e,n,i){return If(t.coord[Math.floor(i/2)][i%2],r[i])}:function(t,e,n,i){return If(t.value,r[i])};return i.initData(s,null,l),i.hasItemOption=!0,i}(r,t,e);e.setData(u),u.each((function(e){var n=z(WB,(function(n){return GB(u,e,n,t,i)})),o=r.getAxis("x").scale,s=r.getAxis("y").scale,l=o.getExtent(),h=s.getExtent(),c=[o.parse(u.get("x0",e)),o.parse(u.get("x1",e))],p=[s.parse(u.get("y0",e)),s.parse(u.get("y1",e))];Qr(c),Qr(p);var d=!!(l[0]>c[1]||l[1]p[1]||h[1]=0},e.prototype.getOrient=function(){return"vertical"===this.get("orient")?{index:1,name:"vertical"}:{index:0,name:"horizontal"}},e.type="legend.plain",e.dependencies=["series"],e.defaultOption={z:4,show:!0,orient:"horizontal",left:"center",top:0,align:"auto",backgroundColor:"rgba(0,0,0,0)",borderColor:"#ccc",borderRadius:0,borderWidth:0,padding:5,itemGap:10,itemWidth:25,itemHeight:14,symbolRotate:"inherit",symbolKeepAspect:!0,inactiveColor:"#ccc",inactiveBorderColor:"#ccc",inactiveBorderWidth:"auto",itemStyle:{color:"inherit",opacity:"inherit",borderColor:"inherit",borderWidth:"auto",borderCap:"inherit",borderJoin:"inherit",borderDashOffset:"inherit",borderMiterLimit:"inherit"},lineStyle:{width:"auto",color:"inherit",inactiveColor:"#ccc",inactiveWidth:2,opacity:"inherit",type:"inherit",cap:"inherit",join:"inherit",dashOffset:"inherit",miterLimit:"inherit"},textStyle:{color:"#333"},selectedMode:!0,selector:!1,selectorLabel:{show:!0,borderRadius:10,padding:[3,5,3,5],fontSize:12,fontFamily:"sans-serif",color:"#666",borderWidth:1,borderColor:"#666"},emphasis:{selectorLabel:{show:!0,color:"#eee",backgroundColor:"#666"}},selectorPosition:"auto",selectorItemGap:7,selectorButtonGap:10,tooltip:{show:!1}},e}(zp),XB=H,UB=E,ZB=Br,jB=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n.newlineDisabled=!1,n}return n(e,t),e.prototype.init=function(){this.group.add(this._contentGroup=new ZB),this.group.add(this._selectorGroup=new ZB),this._isFirstRender=!0},e.prototype.getContentGroup=function(){return this._contentGroup},e.prototype.getSelectorGroup=function(){return this._selectorGroup},e.prototype.render=function(t,e,n){var i=this._isFirstRender;if(this._isFirstRender=!1,this.resetInner(),t.get("show",!0)){var r=t.get("align"),o=t.get("orient");r&&"auto"!==r||(r="right"===t.get("left")&&"vertical"===o?"right":"left");var a=t.get("selector",!0),s=t.get("selectorPosition",!0);!a||s&&"auto"!==s||(s="horizontal"===o?"end":"start"),this.renderInner(r,t,e,n,a,o,s);var l=t.getBoxLayoutParams(),u={width:n.getWidth(),height:n.getHeight()},h=t.get("padding"),c=kp(l,u,h),p=this.layoutInner(t,r,c,i,a,s),d=kp(k({width:p.width,height:p.height},l),u,h);this.group.x=d.x-p.x,this.group.y=d.y-p.y,this.group.markRedraw(),this.group.add(this._backgroundEl=Sz(p,t))}},e.prototype.resetInner=function(){this.getContentGroup().removeAll(),this._backgroundEl&&this.group.remove(this._backgroundEl),this.getSelectorGroup().removeAll()},e.prototype.renderInner=function(t,e,n,i,r,o,a){var s=this.getContentGroup(),l=yt(),u=e.get("selectedMode"),h=[];n.eachRawSeries((function(t){!t.get("legendHoverLink")&&h.push(t.id)})),UB(e.getData(),(function(r,o){var a=r.get("name");if(!this.newlineDisabled&&(""===a||"\n"===a)){var c=new ZB;return c.newline=!0,void s.add(c)}var p=n.getSeriesByName(a)[0];if(!l.get(a)){if(p){var d=p.getData(),f=d.getVisual("legendLineStyle")||{},g=d.getVisual("legendIcon"),y=d.getVisual("style"),v=this._createItem(p,a,o,r,e,t,f,y,g,u,i);v.on("click",XB(qB,a,null,i,h)).on("mouseover",XB($B,p.name,null,i,h)).on("mouseout",XB(JB,p.name,null,i,h)),n.ssr&&v.eachChild((function(t){var e=rl(t);e.seriesIndex=p.seriesIndex,e.dataIndex=o,e.ssrType="legend"})),l.set(a,!0)}else n.eachRawSeries((function(s){if(!l.get(a)&&s.legendVisualProvider){var c=s.legendVisualProvider;if(!c.containName(a))return;var p=c.indexOfName(a),d=c.getItemVisual(p,"style"),f=c.getItemVisual(p,"legendIcon"),g=qn(d.fill);g&&0===g[3]&&(g[3]=.2,d=A(A({},d),{fill:ri(g,"rgba")}));var y=this._createItem(s,a,o,r,e,t,{},d,f,u,i);y.on("click",XB(qB,null,a,i,h)).on("mouseover",XB($B,null,a,i,h)).on("mouseout",XB(JB,null,a,i,h)),n.ssr&&y.eachChild((function(t){var e=rl(t);e.seriesIndex=s.seriesIndex,e.dataIndex=o,e.ssrType="legend"})),l.set(a,!0)}}),this);0}}),this),r&&this._createSelector(r,e,i,o,a)},e.prototype._createSelector=function(t,e,n,i,r){var o=this.getSelectorGroup();UB(t,(function(t){var i=t.type,r=new Xs({style:{x:0,y:0,align:"center",verticalAlign:"middle"},onclick:function(){n.dispatchAction({type:"all"===i?"legendAllSelect":"legendInverseSelect"})}});o.add(r),ic(r,{normal:e.getModel("selectorLabel"),emphasis:e.getModel(["emphasis","selectorLabel"])},{defaultText:t.title}),Ul(r)}))},e.prototype._createItem=function(t,e,n,i,r,o,a,s,l,u,h){var c=t.visualDrawType,p=r.get("itemWidth"),d=r.get("itemHeight"),f=r.isSelected(e),g=i.get("symbolRotate"),y=i.get("symbolKeepAspect"),v=i.get("icon"),m=function(t,e,n,i,r,o,a){function s(t,e){"auto"===t.lineWidth&&(t.lineWidth=e.lineWidth>0?2:0),UB(t,(function(n,i){"inherit"===t[i]&&(t[i]=e[i])}))}var l=e.getModel("itemStyle"),u=l.getItemStyle(),h=0===t.lastIndexOf("empty",0)?"fill":"stroke",c=l.getShallow("decal");u.decal=c&&"inherit"!==c?mv(c,a):i.decal,"inherit"===u.fill&&(u.fill=i[r]);"inherit"===u.stroke&&(u.stroke=i[h]);"inherit"===u.opacity&&(u.opacity=("fill"===r?i:n).opacity);s(u,i);var p=e.getModel("lineStyle"),d=p.getLineStyle();if(s(d,n),"auto"===u.fill&&(u.fill=i.fill),"auto"===u.stroke&&(u.stroke=i.fill),"auto"===d.stroke&&(d.stroke=i.fill),!o){var f=e.get("inactiveBorderWidth"),g=u[h];u.lineWidth="auto"===f?i.lineWidth>0&&g?2:0:u.lineWidth,u.fill=e.get("inactiveColor"),u.stroke=e.get("inactiveBorderColor"),d.stroke=p.get("inactiveColor"),d.lineWidth=p.get("inactiveWidth")}return{itemStyle:u,lineStyle:d}}(l=v||l||"roundRect",i,a,s,c,f,h),x=new ZB,_=i.getModel("textStyle");if(!X(t.getLegendIcon)||v&&"inherit"!==v){var b="inherit"===v&&t.getData().getVisual("symbol")?"inherit"===g?t.getData().getVisual("symbolRotate"):g:0;x.add(function(t){var e=t.icon||"roundRect",n=Xy(e,0,0,t.itemWidth,t.itemHeight,t.itemStyle.fill,t.symbolKeepAspect);n.setStyle(t.itemStyle),n.rotation=(t.iconRotate||0)*Math.PI/180,n.setOrigin([t.itemWidth/2,t.itemHeight/2]),e.indexOf("empty")>-1&&(n.style.stroke=n.style.fill,n.style.fill="#fff",n.style.lineWidth=2);return n}({itemWidth:p,itemHeight:d,icon:l,iconRotate:b,itemStyle:m.itemStyle,lineStyle:m.lineStyle,symbolKeepAspect:y}))}else x.add(t.getLegendIcon({itemWidth:p,itemHeight:d,icon:l,iconRotate:g,itemStyle:m.itemStyle,lineStyle:m.lineStyle,symbolKeepAspect:y}));var w="left"===o?p+5:-5,S=o,M=r.get("formatter"),I=e;U(M)&&M?I=M.replace("{name}",null!=e?e:""):X(M)&&(I=M(e));var T=f?_.getTextColor():i.get("inactiveColor");x.add(new Xs({style:oc(_,{text:I,x:w,y:d/2,fill:T,align:S,verticalAlign:"middle"},{inheritColor:T})}));var C=new Ws({shape:x.getBoundingRect(),style:{fill:"transparent"}}),D=i.getModel("tooltip");return D.get("show")&&Kh({el:C,componentModel:r,itemName:e,itemTooltipOption:D.option}),x.add(C),x.eachChild((function(t){t.silent=!0})),C.silent=!u,this.getContentGroup().add(x),Ul(x),x.__legendDataIndex=n,x},e.prototype.layoutInner=function(t,e,n,i,r,o){var a=this.getContentGroup(),s=this.getSelectorGroup();Ap(t.get("orient"),a,t.get("itemGap"),n.width,n.height);var l=a.getBoundingRect(),u=[-l.x,-l.y];if(s.markRedraw(),a.markRedraw(),r){Ap("horizontal",s,t.get("selectorItemGap",!0));var h=s.getBoundingRect(),c=[-h.x,-h.y],p=t.get("selectorButtonGap",!0),d=t.getOrient().index,f=0===d?"width":"height",g=0===d?"height":"width",y=0===d?"y":"x";"end"===o?c[d]+=l[f]+p:u[d]+=h[f]+p,c[1-d]+=l[g]/2-h[g]/2,s.x=c[0],s.y=c[1],a.x=u[0],a.y=u[1];var v={x:0,y:0};return v[f]=l[f]+p+h[f],v[g]=Math.max(l[g],h[g]),v[y]=Math.min(0,h[y]+c[1-d]),v}return a.x=u[0],a.y=u[1],this.group.getBoundingRect()},e.prototype.remove=function(){this.getContentGroup().removeAll(),this._isFirstRender=!0},e.type="legend.plain",e}(Ag);function qB(t,e,n,i){JB(t,e,n,i),n.dispatchAction({type:"legendToggleSelect",name:null!=t?t:e}),$B(t,e,n,i)}function KB(t){for(var e,n=t.getZr().storage.getDisplayList(),i=0,r=n.length;in[r],f=[-c.x,-c.y];e||(f[i]=l[s]);var g=[0,0],y=[-p.x,-p.y],v=rt(t.get("pageButtonGap",!0),t.get("itemGap",!0));d&&("end"===t.get("pageButtonPosition",!0)?y[i]+=n[r]-p[r]:g[i]+=p[r]+v);y[1-i]+=c[o]/2-p[o]/2,l.setPosition(f),u.setPosition(g),h.setPosition(y);var m={x:0,y:0};if(m[r]=d?n[r]:c[r],m[o]=Math.max(c[o],p[o]),m[a]=Math.min(0,p[a]+y[1-i]),u.__rectSize=n[r],d){var x={x:0,y:0};x[r]=Math.max(n[r]-p[r]-v,0),x[o]=m[o],u.setClipPath(new Ws({shape:x})),u.__rectSize=x[r]}else h.eachChild((function(t){t.attr({invisible:!0,silent:!0})}));var _=this._getPageInfo(t);return null!=_.pageIndex&&vh(l,{x:_.contentPosition[0],y:_.contentPosition[1]},d?t:null),this._updatePageInfoView(t,_),m},e.prototype._pageGo=function(t,e,n){var i=this._getPageInfo(e)[t];null!=i&&n.dispatchAction({type:"legendScroll",scrollDataIndex:i,legendId:e.id})},e.prototype._updatePageInfoView=function(t,e){var n=this._controllerGroup;E(["pagePrev","pageNext"],(function(i){var r=null!=e[i+"DataIndex"],o=n.childOfName(i);o&&(o.setStyle("fill",r?t.get("pageIconColor",!0):t.get("pageIconInactiveColor",!0)),o.cursor=r?"pointer":"default")}));var i=n.childOfName("pageText"),r=t.get("pageFormatter"),o=e.pageIndex,a=null!=o?o+1:0,s=e.pageCount;i&&r&&i.setStyle("text",U(r)?r.replace("{current}",null==a?"":a+"").replace("{total}",null==s?"":s+""):r({current:a,total:s}))},e.prototype._getPageInfo=function(t){var e=t.get("scrollDataIndex",!0),n=this.getContentGroup(),i=this._containerGroup.__rectSize,r=t.getOrient().index,o=oF[r],a=aF[r],s=this._findTargetItemIndex(e),l=n.children(),u=l[s],h=l.length,c=h?1:0,p={contentPosition:[n.x,n.y],pageCount:c,pageIndex:c-1,pagePrevDataIndex:null,pageNextDataIndex:null};if(!u)return p;var d=m(u);p.contentPosition[r]=-d.s;for(var f=s+1,g=d,y=d,v=null;f<=h;++f)(!(v=m(l[f]))&&y.e>g.s+i||v&&!x(v,g.s))&&(g=y.i>g.i?y:v)&&(null==p.pageNextDataIndex&&(p.pageNextDataIndex=g.i),++p.pageCount),y=v;for(f=s-1,g=d,y=d,v=null;f>=-1;--f)(v=m(l[f]))&&x(y,v.s)||!(g.i=e&&t.s<=e+i}},e.prototype._findTargetItemIndex=function(t){return this._showController?(this.getContentGroup().eachChild((function(i,r){var o=i.__legendDataIndex;null==n&&null!=o&&(n=r),o===t&&(e=r)})),null!=e?e:n):0;var e,n},e.type="legend.scroll",e}(jB);function lF(t){Vm(eF),t.registerComponentModel(nF),t.registerComponentView(sF),function(t){t.registerAction("legendScroll","legendscroll",(function(t,e){var n=t.scrollDataIndex;null!=n&&e.eachComponent({mainType:"legend",subType:"scroll",query:t},(function(t){t.setScrollDataIndex(n)}))}))}(t)}var uF=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.type="dataZoom.inside",e.defaultOption=kc(az.defaultOption,{disabled:!1,zoomLock:!1,zoomOnMouseWheel:!0,moveOnMouseMove:!0,moveOnMouseWheel:!1,preventDefaultMouseMove:!0}),e}(az),hF=Vo();function cF(t,e,n){hF(t).coordSysRecordMap.each((function(t){var i=t.dataZoomInfoMap.get(e.uid);i&&(i.getRange=n)}))}function pF(t,e){if(e){t.removeKey(e.model.uid);var n=e.controller;n&&n.dispose()}}function dF(t,e){t.isDisposed()||t.dispatchAction({type:"dataZoom",animation:{easing:"cubicOut",duration:100},batch:e})}function fF(t,e,n,i){return t.coordinateSystem.containPoint([n,i])}function gF(t){t.registerProcessor(t.PRIORITY.PROCESSOR.FILTER,(function(t,e){var n=hF(e),i=n.coordSysRecordMap||(n.coordSysRecordMap=yt());i.each((function(t){t.dataZoomInfoMap=null})),t.eachComponent({mainType:"dataZoom",subType:"inside"},(function(t){E(rz(t).infoList,(function(n){var r=n.model.uid,o=i.get(r)||i.set(r,function(t,e){var n={model:e,containsPoint:H(fF,e),dispatchAction:H(dF,t),dataZoomInfoMap:null,controller:null},i=n.controller=new nT(t.getZr());return E(["pan","zoom","scrollMove"],(function(t){i.on(t,(function(e){var i=[];n.dataZoomInfoMap.each((function(r){if(e.isAvailableBehavior(r.model.option)){var o=(r.getRange||{})[t],a=o&&o(r.dzReferCoordSysInfo,n.model.mainType,n.controller,e);!r.model.get("disabled",!0)&&a&&i.push({dataZoomId:r.model.id,start:a[0],end:a[1]})}})),i.length&&n.dispatchAction(i)}))})),n}(e,n.model));(o.dataZoomInfoMap||(o.dataZoomInfoMap=yt())).set(t.uid,{dzReferCoordSysInfo:n,model:t,getRange:null})}))})),i.each((function(t){var e,n=t.controller,r=t.dataZoomInfoMap;if(r){var o=r.keys()[0];null!=o&&(e=r.get(o))}if(e){var a=function(t){var e,n="type_",i={type_true:2,type_move:1,type_false:0,type_undefined:-1},r=!0;return t.each((function(t){var o=t.model,a=!o.get("disabled",!0)&&(!o.get("zoomLock",!0)||"move");i[n+a]>i[n+e]&&(e=a),r=r&&o.get("preventDefaultMouseMove",!0)})),{controlType:e,opt:{zoomOnMouseWheel:!0,moveOnMouseMove:!0,moveOnMouseWheel:!0,preventDefaultMouseMove:!!r}}}(r);n.enable(a.controlType,a.opt),n.setPointerChecker(t.containsPoint),Hg(t,"dispatchAction",e.model.get("throttle",!0),"fixRate")}else pF(i,t)}))}))}var yF=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.type="dataZoom.inside",e}return n(e,t),e.prototype.render=function(e,n,i){t.prototype.render.apply(this,arguments),e.noTarget()?this._clear():(this.range=e.getPercentRange(),cF(i,e,{pan:W(vF.pan,this),zoom:W(vF.zoom,this),scrollMove:W(vF.scrollMove,this)}))},e.prototype.dispose=function(){this._clear(),t.prototype.dispose.apply(this,arguments)},e.prototype._clear=function(){!function(t,e){for(var n=hF(t).coordSysRecordMap,i=n.keys(),r=0;r0?s.pixelStart+s.pixelLength-s.pixel:s.pixel-s.pixelStart)/s.pixelLength*(o[1]-o[0])+o[0],u=Math.max(1/i.scale,0);o[0]=(o[0]-l)*u+l,o[1]=(o[1]-l)*u+l;var h=this.dataZoomModel.findRepresentativeAxisProxy().getMinMaxSpan();return zk(0,o,[0,100],0,h.minSpan,h.maxSpan),this.range=o,r[0]!==o[0]||r[1]!==o[1]?o:void 0}},pan:mF((function(t,e,n,i,r,o){var a=xF[i]([o.oldX,o.oldY],[o.newX,o.newY],e,r,n);return a.signal*(t[1]-t[0])*a.pixel/a.pixelLength})),scrollMove:mF((function(t,e,n,i,r,o){return xF[i]([0,0],[o.scrollDelta,o.scrollDelta],e,r,n).signal*(t[1]-t[0])*o.scrollDelta}))};function mF(t){return function(e,n,i,r){var o=this.range,a=o.slice(),s=e.axisModels[0];if(s)return zk(t(a,s,e,n,i,r),a,[0,100],"all"),this.range=a,o[0]!==a[0]||o[1]!==a[1]?a:void 0}}var xF={grid:function(t,e,n,i,r){var o=n.axis,a={},s=r.model.coordinateSystem.getRect();return t=t||[0,0],"x"===o.dim?(a.pixel=e[0]-t[0],a.pixelLength=s.width,a.pixelStart=s.x,a.signal=o.inverse?1:-1):(a.pixel=e[1]-t[1],a.pixelLength=s.height,a.pixelStart=s.y,a.signal=o.inverse?-1:1),a},polar:function(t,e,n,i,r){var o=n.axis,a={},s=r.model.coordinateSystem,l=s.getRadiusAxis().getExtent(),u=s.getAngleAxis().getExtent();return t=t?s.pointToCoord(t):[0,0],e=s.pointToCoord(e),"radiusAxis"===n.mainType?(a.pixel=e[0]-t[0],a.pixelLength=l[1]-l[0],a.pixelStart=l[0],a.signal=o.inverse?1:-1):(a.pixel=e[1]-t[1],a.pixelLength=u[1]-u[0],a.pixelStart=u[0],a.signal=o.inverse?-1:1),a},singleAxis:function(t,e,n,i,r){var o=n.axis,a=r.model.coordinateSystem.getRect(),s={};return t=t||[0,0],"horizontal"===o.orient?(s.pixel=e[0]-t[0],s.pixelLength=a.width,s.pixelStart=a.x,s.signal=o.inverse?1:-1):(s.pixel=e[1]-t[1],s.pixelLength=a.height,s.pixelStart=a.y,s.signal=o.inverse?-1:1),s}};function _F(t){yz(t),t.registerComponentModel(uF),t.registerComponentView(yF),gF(t)}var bF=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.type="dataZoom.slider",e.layoutMode="box",e.defaultOption=kc(az.defaultOption,{show:!0,right:"ph",top:"ph",width:"ph",height:"ph",left:null,bottom:null,borderColor:"#d2dbee",borderRadius:3,backgroundColor:"rgba(47,69,84,0)",dataBackground:{lineStyle:{color:"#d2dbee",width:.5},areaStyle:{color:"#d2dbee",opacity:.2}},selectedDataBackground:{lineStyle:{color:"#8fb0f7",width:.5},areaStyle:{color:"#8fb0f7",opacity:.2}},fillerColor:"rgba(135,175,274,0.2)",handleIcon:"path://M-9.35,34.56V42m0-40V9.5m-2,0h4a2,2,0,0,1,2,2v21a2,2,0,0,1-2,2h-4a2,2,0,0,1-2-2v-21A2,2,0,0,1-11.35,9.5Z",handleSize:"100%",handleStyle:{color:"#fff",borderColor:"#ACB8D1"},moveHandleSize:7,moveHandleIcon:"path://M-320.9-50L-320.9-50c18.1,0,27.1,9,27.1,27.1V85.7c0,18.1-9,27.1-27.1,27.1l0,0c-18.1,0-27.1-9-27.1-27.1V-22.9C-348-41-339-50-320.9-50z M-212.3-50L-212.3-50c18.1,0,27.1,9,27.1,27.1V85.7c0,18.1-9,27.1-27.1,27.1l0,0c-18.1,0-27.1-9-27.1-27.1V-22.9C-239.4-41-230.4-50-212.3-50z M-103.7-50L-103.7-50c18.1,0,27.1,9,27.1,27.1V85.7c0,18.1-9,27.1-27.1,27.1l0,0c-18.1,0-27.1-9-27.1-27.1V-22.9C-130.9-41-121.8-50-103.7-50z",moveHandleStyle:{color:"#D2DBEE",opacity:.7},showDetail:!0,showDataShadow:"auto",realtime:!0,zoomLock:!1,textStyle:{color:"#6E7079"},brushSelect:!0,brushStyle:{color:"rgba(135,175,274,0.15)"},emphasis:{handleStyle:{borderColor:"#8FB0F7"},moveHandleStyle:{color:"#8FB0F7"}}}),e}(az),wF=Ws,SF="horizontal",MF="vertical",IF=["line","bar","candlestick","scatter"],TF={easing:"cubicOut",duration:100,delay:0},CF=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n._displayables={},n}return n(e,t),e.prototype.init=function(t,e){this.api=e,this._onBrush=W(this._onBrush,this),this._onBrushEnd=W(this._onBrushEnd,this)},e.prototype.render=function(e,n,i,r){if(t.prototype.render.apply(this,arguments),Hg(this,"_dispatchZoomAction",e.get("throttle"),"fixRate"),this._orient=e.getOrient(),!1!==e.get("show")){if(e.noTarget())return this._clear(),void this.group.removeAll();r&&"dataZoom"===r.type&&r.from===this.uid||this._buildView(),this._updateView()}else this.group.removeAll()},e.prototype.dispose=function(){this._clear(),t.prototype.dispose.apply(this,arguments)},e.prototype._clear=function(){Yg(this,"_dispatchZoomAction");var t=this.api.getZr();t.off("mousemove",this._onBrush),t.off("mouseup",this._onBrushEnd)},e.prototype._buildView=function(){var t=this.group;t.removeAll(),this._brushing=!1,this._displayables.brushRect=null,this._resetLocation(),this._resetInterval();var e=this._displayables.sliderGroup=new Br;this._renderBackground(),this._renderHandle(),this._renderDataShadow(),t.add(e),this._positionGroup()},e.prototype._resetLocation=function(){var t=this.dataZoomModel,e=this.api,n=t.get("brushSelect")?7:0,i=this._findCoordRect(),r={width:e.getWidth(),height:e.getHeight()},o=this._orient===SF?{right:r.width-i.x-i.width,top:r.height-30-7-n,width:i.width,height:30}:{right:7,top:i.y,width:30,height:i.height},a=Rp(t.option);E(["right","top","width","height"],(function(t){"ph"===a[t]&&(a[t]=o[t])}));var s=kp(a,r);this._location={x:s.x,y:s.y},this._size=[s.width,s.height],this._orient===MF&&this._size.reverse()},e.prototype._positionGroup=function(){var t=this.group,e=this._location,n=this._orient,i=this.dataZoomModel.getFirstTargetAxisModel(),r=i&&i.get("inverse"),o=this._displayables.sliderGroup,a=(this._dataShadowInfo||{}).otherAxisInverse;o.attr(n!==SF||r?n===SF&&r?{scaleY:a?1:-1,scaleX:-1}:n!==MF||r?{scaleY:a?-1:1,scaleX:-1,rotation:Math.PI/2}:{scaleY:a?-1:1,scaleX:1,rotation:Math.PI/2}:{scaleY:a?1:-1,scaleX:1});var s=t.getBoundingRect([o]);t.x=e.x-s.x,t.y=e.y-s.y,t.markRedraw()},e.prototype._getViewExtent=function(){return[0,this._size[0]]},e.prototype._renderBackground=function(){var t=this.dataZoomModel,e=this._size,n=this._displayables.sliderGroup,i=t.get("brushSelect");n.add(new wF({silent:!0,shape:{x:0,y:0,width:e[0],height:e[1]},style:{fill:t.get("backgroundColor")},z2:-40}));var r=new wF({shape:{x:0,y:0,width:e[0],height:e[1]},style:{fill:"transparent"},z2:0,onclick:W(this._onClickPanel,this)}),o=this.api.getZr();i?(r.on("mousedown",this._onBrushStart,this),r.cursor="crosshair",o.on("mousemove",this._onBrush),o.on("mouseup",this._onBrushEnd)):(o.off("mousemove",this._onBrush),o.off("mouseup",this._onBrushEnd)),n.add(r)},e.prototype._renderDataShadow=function(){var t=this._dataShadowInfo=this._prepareDataShadowInfo();if(this._displayables.dataShadowSegs=[],t){var e=this._size,n=this._shadowSize||[],i=t.series,r=i.getRawData(),o=i.getShadowDim&&i.getShadowDim(),a=o&&r.getDimensionInfo(o)?i.getShadowDim():t.otherDim;if(null!=a){var s=this._shadowPolygonPts,l=this._shadowPolylinePts;if(r!==this._shadowData||a!==this._shadowDim||e[0]!==n[0]||e[1]!==n[1]){var u=r.getDataExtent(a),h=.3*(u[1]-u[0]);u=[u[0]-h,u[1]+h];var c,p=[0,e[1]],d=[0,e[0]],f=[[e[0],0],[0,0]],g=[],y=d[1]/(r.count()-1),v=0,m=Math.round(r.count()/e[0]);r.each([a],(function(t,e){if(m>0&&e%m)v+=y;else{var n=null==t||isNaN(t)||""===t,i=n?0:Kr(t,u,p,!0);n&&!c&&e?(f.push([f[f.length-1][0],0]),g.push([g[g.length-1][0],0])):!n&&c&&(f.push([v,0]),g.push([v,0])),f.push([v,i]),g.push([v,i]),v+=y,c=n}})),s=this._shadowPolygonPts=f,l=this._shadowPolylinePts=g}this._shadowData=r,this._shadowDim=a,this._shadowSize=[e[0],e[1]];for(var x=this.dataZoomModel,_=0;_<3;_++){var b=w(1===_);this._displayables.sliderGroup.add(b),this._displayables.dataShadowSegs.push(b)}}}function w(t){var e=x.getModel(t?"selectedDataBackground":"dataBackground"),n=new Br,i=new Xu({shape:{points:s},segmentIgnoreThreshold:1,style:e.getModel("areaStyle").getAreaStyle(),silent:!0,z2:-20}),r=new Zu({shape:{points:l},segmentIgnoreThreshold:1,style:e.getModel("lineStyle").getLineStyle(),silent:!0,z2:-19});return n.add(i),n.add(r),n}},e.prototype._prepareDataShadowInfo=function(){var t=this.dataZoomModel,e=t.get("showDataShadow");if(!1!==e){var n,i=this.ecModel;return t.eachTargetAxis((function(r,o){E(t.getAxisProxy(r,o).getTargetSeriesModels(),(function(t){if(!(n||!0!==e&&P(IF,t.get("type"))<0)){var a,s=i.getComponent(nz(r),o).axis,l=function(t){var e={x:"y",y:"x",radius:"angle",angle:"radius"};return e[t]}(r),u=t.coordinateSystem;null!=l&&u.getOtherAxis&&(a=u.getOtherAxis(s).inverse),l=t.getData().mapDimension(l),n={thisAxis:s,series:t,thisDim:r,otherDim:l,otherAxisInverse:a}}}),this)}),this),n}},e.prototype._renderHandle=function(){var t=this.group,e=this._displayables,n=e.handles=[null,null],i=e.handleLabels=[null,null],r=this._displayables.sliderGroup,o=this._size,a=this.dataZoomModel,s=this.api,l=a.get("borderRadius")||0,u=a.get("brushSelect"),h=e.filler=new wF({silent:u,style:{fill:a.get("fillerColor")},textConfig:{position:"inside"}});r.add(h),r.add(new wF({silent:!0,subPixelOptimize:!0,shape:{x:0,y:0,width:o[0],height:o[1],r:l},style:{stroke:a.get("dataBackgroundColor")||a.get("borderColor"),lineWidth:1,fill:"rgba(0,0,0,0)"}})),E([0,1],(function(e){var o=a.get("handleIcon");!Wy[o]&&o.indexOf("path://")<0&&o.indexOf("image://")<0&&(o="path://"+o);var s=Xy(o,-1,0,2,2,null,!0);s.attr({cursor:DF(this._orient),draggable:!0,drift:W(this._onDragMove,this,e),ondragend:W(this._onDragEnd,this),onmouseover:W(this._showDataInfo,this,!0),onmouseout:W(this._showDataInfo,this,!1),z2:5});var l=s.getBoundingRect(),u=a.get("handleSize");this._handleHeight=$r(u,this._size[1]),this._handleWidth=l.width/l.height*this._handleHeight,s.setStyle(a.getModel("handleStyle").getItemStyle()),s.style.strokeNoScale=!0,s.rectHover=!0,s.ensureState("emphasis").style=a.getModel(["emphasis","handleStyle"]).getItemStyle(),Ul(s);var h=a.get("handleColor");null!=h&&(s.style.fill=h),r.add(n[e]=s);var c=a.getModel("textStyle");t.add(i[e]=new Xs({silent:!0,invisible:!0,style:oc(c,{x:0,y:0,text:"",verticalAlign:"middle",align:"center",fill:c.getTextColor(),font:c.getFont()}),z2:10}))}),this);var c=h;if(u){var p=$r(a.get("moveHandleSize"),o[1]),d=e.moveHandle=new Ws({style:a.getModel("moveHandleStyle").getItemStyle(),silent:!0,shape:{r:[0,0,2,2],y:o[1]-.5,height:p}}),f=.8*p,g=e.moveHandleIcon=Xy(a.get("moveHandleIcon"),-f/2,-f/2,f,f,"#fff",!0);g.silent=!0,g.y=o[1]+p/2-.5,d.ensureState("emphasis").style=a.getModel(["emphasis","moveHandleStyle"]).getItemStyle();var y=Math.min(o[1]/2,Math.max(p,10));(c=e.moveZone=new Ws({invisible:!0,shape:{y:o[1]-y,height:p+y}})).on("mouseover",(function(){s.enterEmphasis(d)})).on("mouseout",(function(){s.leaveEmphasis(d)})),r.add(d),r.add(g),r.add(c)}c.attr({draggable:!0,cursor:DF(this._orient),drift:W(this._onDragMove,this,"all"),ondragstart:W(this._showDataInfo,this,!0),ondragend:W(this._onDragEnd,this),onmouseover:W(this._showDataInfo,this,!0),onmouseout:W(this._showDataInfo,this,!1)})},e.prototype._resetInterval=function(){var t=this._range=this.dataZoomModel.getPercentRange(),e=this._getViewExtent();this._handleEnds=[Kr(t[0],[0,100],e,!0),Kr(t[1],[0,100],e,!0)]},e.prototype._updateInterval=function(t,e){var n=this.dataZoomModel,i=this._handleEnds,r=this._getViewExtent(),o=n.findRepresentativeAxisProxy().getMinMaxSpan(),a=[0,100];zk(e,i,r,n.get("zoomLock")?"all":t,null!=o.minSpan?Kr(o.minSpan,a,r,!0):null,null!=o.maxSpan?Kr(o.maxSpan,a,r,!0):null);var s=this._range,l=this._range=Qr([Kr(i[0],r,a,!0),Kr(i[1],r,a,!0)]);return!s||s[0]!==l[0]||s[1]!==l[1]},e.prototype._updateView=function(t){var e=this._displayables,n=this._handleEnds,i=Qr(n.slice()),r=this._size;E([0,1],(function(t){var i=e.handles[t],o=this._handleHeight;i.attr({scaleX:o/2,scaleY:o/2,x:n[t]+(t?-1:1),y:r[1]/2-o/2})}),this),e.filler.setShape({x:i[0],y:0,width:i[1]-i[0],height:r[1]});var o={x:i[0],width:i[1]-i[0]};e.moveHandle&&(e.moveHandle.setShape(o),e.moveZone.setShape(o),e.moveZone.getBoundingRect(),e.moveHandleIcon&&e.moveHandleIcon.attr("x",o.x+o.width/2));for(var a=e.dataShadowSegs,s=[0,i[0],i[1],r[0]],l=0;le[0]||n[1]<0||n[1]>e[1])){var i=this._handleEnds,r=(i[0]+i[1])/2,o=this._updateInterval("all",n[0]-r);this._updateView(),o&&this._dispatchZoomAction(!1)}},e.prototype._onBrushStart=function(t){var e=t.offsetX,n=t.offsetY;this._brushStart=new De(e,n),this._brushing=!0,this._brushStartTime=+new Date},e.prototype._onBrushEnd=function(t){if(this._brushing){var e=this._displayables.brushRect;if(this._brushing=!1,e){e.attr("ignore",!0);var n=e.shape;if(!(+new Date-this._brushStartTime<200&&Math.abs(n.width)<5)){var i=this._getViewExtent(),r=[0,100];this._range=Qr([Kr(n.x,i,r,!0),Kr(n.x+n.width,i,r,!0)]),this._handleEnds=[n.x,n.x+n.width],this._updateView(),this._dispatchZoomAction(!1)}}}},e.prototype._onBrush=function(t){this._brushing&&(de(t.event),this._updateBrushRect(t.offsetX,t.offsetY))},e.prototype._updateBrushRect=function(t,e){var n=this._displayables,i=this.dataZoomModel,r=n.brushRect;r||(r=n.brushRect=new wF({silent:!0,style:i.getModel("brushStyle").getItemStyle()}),n.sliderGroup.add(r)),r.attr("ignore",!1);var o=this._brushStart,a=this._displayables.sliderGroup,s=a.transformCoordToLocal(t,e),l=a.transformCoordToLocal(o.x,o.y),u=this._size;s[0]=Math.max(Math.min(u[0],s[0]),0),r.setShape({x:l[0],y:0,width:s[0]-l[0],height:u[1]})},e.prototype._dispatchZoomAction=function(t){var e=this._range;this.api.dispatchAction({type:"dataZoom",from:this.uid,dataZoomId:this.dataZoomModel.id,animation:t?TF:null,start:e[0],end:e[1]})},e.prototype._findCoordRect=function(){var t,e=rz(this.dataZoomModel).infoList;if(!t&&e.length){var n=e[0].model.coordinateSystem;t=n.getRect&&n.getRect()}if(!t){var i=this.api.getWidth(),r=this.api.getHeight();t={x:.2*i,y:.2*r,width:.6*i,height:.6*r}}return t},e.type="dataZoom.slider",e}(uz);function DF(t){return"vertical"===t?"ns-resize":"ew-resize"}function AF(t){t.registerComponentModel(bF),t.registerComponentView(CF),yz(t)}var kF=function(t,e,n){var i=T((LF[t]||{})[e]);return n&&Y(i)?i[i.length-1]:i},LF={color:{active:["#006edd","#e0ffff"],inactive:["rgba(0,0,0,0)"]},colorHue:{active:[0,360],inactive:[0,0]},colorSaturation:{active:[.3,1],inactive:[0,0]},colorLightness:{active:[.9,.5],inactive:[0,0]},colorAlpha:{active:[.3,1],inactive:[0,0]},opacity:{active:[.3,1],inactive:[0,0]},symbol:{active:["circle","roundRect","diamond"],inactive:["none"]},symbolSize:{active:[10,50],inactive:[0,0]}},PF=kD.mapVisual,OF=kD.eachVisual,RF=Y,NF=E,EF=Qr,zF=Kr,VF=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n.stateList=["inRange","outOfRange"],n.replacableOptionKeys=["inRange","outOfRange","target","controller","color"],n.layoutMode={type:"box",ignoreSize:!0},n.dataBound=[-1/0,1/0],n.targetVisuals={},n.controllerVisuals={},n}return n(e,t),e.prototype.init=function(t,e,n){this.mergeDefaultAndTheme(t,n)},e.prototype.optionUpdated=function(t,e){var n=this.option;!e&&PV(n,t,this.replacableOptionKeys),this.textStyleModel=this.getModel("textStyle"),this.resetItemSize(),this.completeVisualOption()},e.prototype.resetVisual=function(t){var e=this.stateList;t=W(t,this),this.controllerVisuals=LV(this.option.controller,e,t),this.targetVisuals=LV(this.option.target,e,t)},e.prototype.getItemSymbol=function(){return null},e.prototype.getTargetSeriesIndices=function(){var t=this.option.seriesIndex,e=[];return null==t||"all"===t?this.ecModel.eachSeries((function(t,n){e.push(n)})):e=To(t),e},e.prototype.eachTargetSeries=function(t,e){E(this.getTargetSeriesIndices(),(function(n){var i=this.ecModel.getSeriesByIndex(n);i&&t.call(e,i)}),this)},e.prototype.isTargetSeries=function(t){var e=!1;return this.eachTargetSeries((function(n){n===t&&(e=!0)})),e},e.prototype.formatValueText=function(t,e,n){var i,r=this.option,o=r.precision,a=this.dataBound,s=r.formatter;n=n||["<",">"],Y(t)&&(t=t.slice(),i=!0);var l=e?t:i?[u(t[0]),u(t[1])]:u(t);return U(s)?s.replace("{value}",i?l[0]:l).replace("{value2}",i?l[1]:l):X(s)?i?s(t[0],t[1]):s(t):i?t[0]===a[0]?n[0]+" "+l[1]:t[1]===a[1]?n[1]+" "+l[0]:l[0]+" - "+l[1]:l;function u(t){return t===a[0]?"min":t===a[1]?"max":(+t).toFixed(Math.min(o,20))}},e.prototype.resetExtent=function(){var t=this.option,e=EF([t.min,t.max]);this._dataExtent=e},e.prototype.getDataDimensionIndex=function(t){var e=this.option.dimension;if(null!=e)return t.getDimensionIndex(e);for(var n=t.dimensions,i=n.length-1;i>=0;i--){var r=n[i],o=t.getDimensionInfo(r);if(!o.isCalculationCoord)return o.storeDimIndex}},e.prototype.getExtent=function(){return this._dataExtent.slice()},e.prototype.completeVisualOption=function(){var t=this.ecModel,e=this.option,n={inRange:e.inRange,outOfRange:e.outOfRange},i=e.target||(e.target={}),r=e.controller||(e.controller={});C(i,n),C(r,n);var o=this.isCategory();function a(n){RF(e.color)&&!n.inRange&&(n.inRange={color:e.color.slice().reverse()}),n.inRange=n.inRange||{color:t.get("gradientColor")}}a.call(this,i),a.call(this,r),function(t,e,n){var i=t[e],r=t[n];i&&!r&&(r=t[n]={},NF(i,(function(t,e){if(kD.isValidType(e)){var n=kF(e,"inactive",o);null!=n&&(r[e]=n,"color"!==e||r.hasOwnProperty("opacity")||r.hasOwnProperty("colorAlpha")||(r.opacity=[0,0]))}})))}.call(this,i,"inRange","outOfRange"),function(t){var e=(t.inRange||{}).symbol||(t.outOfRange||{}).symbol,n=(t.inRange||{}).symbolSize||(t.outOfRange||{}).symbolSize,i=this.get("inactiveColor"),r=this.getItemSymbol()||"roundRect";NF(this.stateList,(function(a){var s=this.itemSize,l=t[a];l||(l=t[a]={color:o?i:[i]}),null==l.symbol&&(l.symbol=e&&T(e)||(o?r:[r])),null==l.symbolSize&&(l.symbolSize=n&&T(n)||(o?s[0]:[s[0],s[0]])),l.symbol=PF(l.symbol,(function(t){return"none"===t?r:t}));var u=l.symbolSize;if(null!=u){var h=-1/0;OF(u,(function(t){t>h&&(h=t)})),l.symbolSize=PF(u,(function(t){return zF(t,[0,h],[0,s[0]],!0)}))}}),this)}.call(this,r)},e.prototype.resetItemSize=function(){this.itemSize=[parseFloat(this.get("itemWidth")),parseFloat(this.get("itemHeight"))]},e.prototype.isCategory=function(){return!!this.option.categories},e.prototype.setSelected=function(t){},e.prototype.getSelected=function(){return null},e.prototype.getValueState=function(t){return null},e.prototype.getVisualMeta=function(t){return null},e.type="visualMap",e.dependencies=["series"],e.defaultOption={show:!0,z:4,seriesIndex:"all",min:0,max:200,left:0,right:null,top:null,bottom:0,itemWidth:null,itemHeight:null,inverse:!1,orient:"vertical",backgroundColor:"rgba(0,0,0,0)",borderColor:"#ccc",contentColor:"#5793f3",inactiveColor:"#aaa",borderWidth:0,padding:5,textGap:10,precision:0,textStyle:{color:"#333"}},e}(zp),BF=[20,140],FF=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.optionUpdated=function(e,n){t.prototype.optionUpdated.apply(this,arguments),this.resetExtent(),this.resetVisual((function(t){t.mappingMethod="linear",t.dataExtent=this.getExtent()})),this._resetRange()},e.prototype.resetItemSize=function(){t.prototype.resetItemSize.apply(this,arguments);var e=this.itemSize;(null==e[0]||isNaN(e[0]))&&(e[0]=BF[0]),(null==e[1]||isNaN(e[1]))&&(e[1]=BF[1])},e.prototype._resetRange=function(){var t=this.getExtent(),e=this.option.range;!e||e.auto?(t.auto=1,this.option.range=t):Y(e)&&(e[0]>e[1]&&e.reverse(),e[0]=Math.max(e[0],t[0]),e[1]=Math.min(e[1],t[1]))},e.prototype.completeVisualOption=function(){t.prototype.completeVisualOption.apply(this,arguments),E(this.stateList,(function(t){var e=this.option.controller[t].symbolSize;e&&e[0]!==e[1]&&(e[0]=e[1]/3)}),this)},e.prototype.setSelected=function(t){this.option.range=t.slice(),this._resetRange()},e.prototype.getSelected=function(){var t=this.getExtent(),e=Qr((this.get("range")||[]).slice());return e[0]>t[1]&&(e[0]=t[1]),e[1]>t[1]&&(e[1]=t[1]),e[0]=n[1]||t<=e[1])?"inRange":"outOfRange"},e.prototype.findTargetDataIndices=function(t){var e=[];return this.eachTargetSeries((function(n){var i=[],r=n.getData();r.each(this.getDataDimensionIndex(r),(function(e,n){t[0]<=e&&e<=t[1]&&i.push(n)}),this),e.push({seriesId:n.id,dataIndex:i})}),this),e},e.prototype.getVisualMeta=function(t){var e=GF(this,"outOfRange",this.getExtent()),n=GF(this,"inRange",this.option.range.slice()),i=[];function r(e,n){i.push({value:e,color:t(e,n)})}for(var o=0,a=0,s=n.length,l=e.length;at[1])break;n.push({color:this.getControllerVisual(o,"color",e),offset:r/100})}return n.push({color:this.getControllerVisual(t[1],"color",e),offset:1}),n},e.prototype._createBarPoints=function(t,e){var n=this.visualMapModel.itemSize;return[[n[0]-e[0],t[0]],[n[0],t[0]],[n[0],t[1]],[n[0]-e[1],t[1]]]},e.prototype._createBarGroup=function(t){var e=this._orient,n=this.visualMapModel.get("inverse");return new Br("horizontal"!==e||n?"horizontal"===e&&n?{scaleX:"bottom"===t?-1:1,rotation:-Math.PI/2}:"vertical"!==e||n?{scaleX:"left"===t?1:-1}:{scaleX:"left"===t?1:-1,scaleY:-1}:{scaleX:"bottom"===t?1:-1,rotation:Math.PI/2})},e.prototype._updateHandle=function(t,e){if(this._useHandle){var n=this._shapes,i=this.visualMapModel,r=n.handleThumbs,o=n.handleLabels,a=i.itemSize,s=i.getExtent();ZF([0,1],(function(l){var u=r[l];u.setStyle("fill",e.handlesColor[l]),u.y=t[l];var h=UF(t[l],[0,a[1]],s,!0),c=this.getControllerVisual(h,"symbolSize");u.scaleX=u.scaleY=c/a[0],u.x=a[0]-c/2;var p=Fh(n.handleLabelPoints[l],Bh(u,this.group));o[l].setStyle({x:p[0],y:p[1],text:i.formatValueText(this._dataInterval[l]),verticalAlign:"middle",align:"vertical"===this._orient?this._applyTransform("left",n.mainGroup):"center"})}),this)}},e.prototype._showIndicator=function(t,e,n,i){var r=this.visualMapModel,o=r.getExtent(),a=r.itemSize,s=[0,a[1]],l=this._shapes,u=l.indicator;if(u){u.attr("invisible",!1);var h=this.getControllerVisual(t,"color",{convertOpacityToAlpha:!0}),c=this.getControllerVisual(t,"symbolSize"),p=UF(t,o,s,!0),d=a[0]-c/2,f={x:u.x,y:u.y};u.y=p,u.x=d;var g=Fh(l.indicatorLabelPoint,Bh(u,this.group)),y=l.indicatorLabel;y.attr("invisible",!1);var v=this._applyTransform("left",l.mainGroup),m="horizontal"===this._orient;y.setStyle({text:(n||"")+r.formatValueText(e),verticalAlign:m?v:"middle",align:m?"center":v});var x={x:d,y:p,style:{fill:h}},_={style:{x:g[0],y:g[1]}};if(r.ecModel.isAnimationEnabled()&&!this._firstShowIndicator){var b={duration:100,easing:"cubicInOut",additive:!0};u.x=f.x,u.y=f.y,u.animateTo(x,b),y.animateTo(_,b)}else u.attr(x),y.attr(_);this._firstShowIndicator=!1;var w=this._shapes.handleLabels;if(w)for(var S=0;Sr[1]&&(u[1]=1/0),e&&(u[0]===-1/0?this._showIndicator(l,u[1],"< ",a):u[1]===1/0?this._showIndicator(l,u[0],"> ",a):this._showIndicator(l,l,"≈ ",a));var h=this._hoverLinkDataIndices,c=[];(e||JF(n))&&(c=this._hoverLinkDataIndices=n.findTargetDataIndices(u));var p=function(t,e){var n={},i={};return r(t||[],n),r(e||[],i,n),[o(n),o(i)];function r(t,e,n){for(var i=0,r=t.length;i=0&&(r.dimension=o,i.push(r))}})),t.getData().setVisual("visualMeta",i)}}];function iG(t,e,n,i){for(var r=e.targetVisuals[i],o=kD.prepareVisualTypes(r),a={color:Ay(t.getData(),"color")},s=0,l=o.length;s0:t.splitNumber>0)&&!t.calculable?"piecewise":"continuous"})),t.registerAction(tG,eG),E(nG,(function(e){t.registerVisual(t.PRIORITY.VISUAL.COMPONENT,e)})),t.registerPreprocessor(oG))}function uG(t){t.registerComponentModel(FF),t.registerComponentView(KF),lG(t)}var hG=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n._pieceList=[],n}return n(e,t),e.prototype.optionUpdated=function(e,n){t.prototype.optionUpdated.apply(this,arguments),this.resetExtent();var i=this._mode=this._determineMode();this._pieceList=[],cG[this._mode].call(this,this._pieceList),this._resetSelected(e,n);var r=this.option.categories;this.resetVisual((function(t,e){"categories"===i?(t.mappingMethod="category",t.categories=T(r)):(t.dataExtent=this.getExtent(),t.mappingMethod="piecewise",t.pieceList=z(this._pieceList,(function(t){return t=T(t),"inRange"!==e&&(t.visual=null),t})))}))},e.prototype.completeVisualOption=function(){var e=this.option,n={},i=kD.listVisualTypes(),r=this.isCategory();function o(t,e,n){return t&&t[e]&&t[e].hasOwnProperty(n)}E(e.pieces,(function(t){E(i,(function(e){t.hasOwnProperty(e)&&(n[e]=1)}))})),E(n,(function(t,n){var i=!1;E(this.stateList,(function(t){i=i||o(e,t,n)||o(e.target,t,n)}),this),!i&&E(this.stateList,(function(t){(e[t]||(e[t]={}))[n]=kF(n,"inRange"===t?"active":"inactive",r)}))}),this),t.prototype.completeVisualOption.apply(this,arguments)},e.prototype._resetSelected=function(t,e){var n=this.option,i=this._pieceList,r=(e?n:t).selected||{};if(n.selected=r,E(i,(function(t,e){var n=this.getSelectedMapKey(t);r.hasOwnProperty(n)||(r[n]=!0)}),this),"single"===n.selectedMode){var o=!1;E(i,(function(t,e){var n=this.getSelectedMapKey(t);r[n]&&(o?r[n]=!1:o=!0)}),this)}},e.prototype.getItemSymbol=function(){return this.get("itemSymbol")},e.prototype.getSelectedMapKey=function(t){return"categories"===this._mode?t.value+"":t.index+""},e.prototype.getPieceList=function(){return this._pieceList},e.prototype._determineMode=function(){var t=this.option;return t.pieces&&t.pieces.length>0?"pieces":this.option.categories?"categories":"splitNumber"},e.prototype.setSelected=function(t){this.option.selected=T(t)},e.prototype.getValueState=function(t){var e=kD.findPieceIndex(t,this._pieceList);return null!=e&&this.option.selected[this.getSelectedMapKey(this._pieceList[e])]?"inRange":"outOfRange"},e.prototype.findTargetDataIndices=function(t){var e=[],n=this._pieceList;return this.eachTargetSeries((function(i){var r=[],o=i.getData();o.each(this.getDataDimensionIndex(o),(function(e,i){kD.findPieceIndex(e,n)===t&&r.push(i)}),this),e.push({seriesId:i.id,dataIndex:r})}),this),e},e.prototype.getRepresentValue=function(t){var e;if(this.isCategory())e=t.value;else if(null!=t.value)e=t.value;else{var n=t.interval||[];e=n[0]===-1/0&&n[1]===1/0?0:(n[0]+n[1])/2}return e},e.prototype.getVisualMeta=function(t){if(!this.isCategory()){var e=[],n=["",""],i=this,r=this._pieceList.slice();if(r.length){var o=r[0].interval[0];o!==-1/0&&r.unshift({interval:[-1/0,o]}),(o=r[r.length-1].interval[1])!==1/0&&r.push({interval:[o,1/0]})}else r.push({interval:[-1/0,1/0]});var a=-1/0;return E(r,(function(t){var e=t.interval;e&&(e[0]>a&&s([a,e[0]],"outOfRange"),s(e.slice()),a=e[1])}),this),{stops:e,outerColors:n}}function s(r,o){var a=i.getRepresentValue({interval:r});o||(o=i.getValueState(a));var s=t(a,o);r[0]===-1/0?n[0]=s:r[1]===1/0?n[1]=s:e.push({value:r[0],color:s},{value:r[1],color:s})}},e.type="visualMap.piecewise",e.defaultOption=kc(VF.defaultOption,{selected:null,minOpen:!1,maxOpen:!1,align:"auto",itemWidth:20,itemHeight:14,itemSymbol:"roundRect",pieces:null,categories:null,splitNumber:5,selectedMode:"multiple",itemGap:10,hoverLink:!0}),e}(VF),cG={splitNumber:function(t){var e=this.option,n=Math.min(e.precision,20),i=this.getExtent(),r=e.splitNumber;r=Math.max(parseInt(r,10),1),e.splitNumber=r;for(var o=(i[1]-i[0])/r;+o.toFixed(n)!==o&&n<5;)n++;e.precision=n,o=+o.toFixed(n),e.minOpen&&t.push({interval:[-1/0,i[0]],close:[0,0]});for(var a=0,s=i[0];a","≥"][e[0]]];t.text=t.text||this.formatValueText(null!=t.value?t.value:t.interval,!1,n)}),this)}};function pG(t,e){var n=t.inverse;("vertical"===t.orient?!n:n)&&e.reverse()}var dG=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.doRender=function(){var t=this.group;t.removeAll();var e=this.visualMapModel,n=e.get("textGap"),i=e.textStyleModel,r=i.getFont(),o=i.getTextColor(),a=this._getItemAlign(),s=e.itemSize,l=this._getViewData(),u=l.endsText,h=it(e.get("showLabel",!0),!u);u&&this._renderEndsText(t,u[0],s,h,a),E(l.viewPieceList,(function(i){var l=i.piece,u=new Br;u.onclick=W(this._onItemClick,this,l),this._enableHoverLink(u,i.indexInModelPieceList);var c=e.getRepresentValue(l);if(this._createItemSymbol(u,c,[0,0,s[0],s[1]]),h){var p=this.visualMapModel.getValueState(c);u.add(new Xs({style:{x:"right"===a?-n:s[0]+n,y:s[1]/2,text:l.text,verticalAlign:"middle",align:a,font:r,fill:o,opacity:"outOfRange"===p?.5:1}}))}t.add(u)}),this),u&&this._renderEndsText(t,u[1],s,h,a),Ap(e.get("orient"),t,e.get("itemGap")),this.renderBackground(t),this.positionGroup(t)},e.prototype._enableHoverLink=function(t,e){var n=this;t.on("mouseover",(function(){return i("highlight")})).on("mouseout",(function(){return i("downplay")}));var i=function(t){var i=n.visualMapModel;i.option.hoverLink&&n.api.dispatchAction({type:t,batch:XF(i.findTargetDataIndices(e),i)})}},e.prototype._getItemAlign=function(){var t=this.visualMapModel,e=t.option;if("vertical"===e.orient)return YF(t,this.api,t.itemSize);var n=e.align;return n&&"auto"!==n||(n="left"),n},e.prototype._renderEndsText=function(t,e,n,i,r){if(e){var o=new Br,a=this.visualMapModel.textStyleModel;o.add(new Xs({style:oc(a,{x:i?"right"===r?n[0]:0:n[0]/2,y:n[1]/2,verticalAlign:"middle",align:i?r:"center",text:e})})),t.add(o)}},e.prototype._getViewData=function(){var t=this.visualMapModel,e=z(t.getPieceList(),(function(t,e){return{piece:t,indexInModelPieceList:e}})),n=t.get("text"),i=t.get("orient"),r=t.get("inverse");return("horizontal"===i?r:!r)?e.reverse():n&&(n=n.slice().reverse()),{viewPieceList:e,endsText:n}},e.prototype._createItemSymbol=function(t,e,n){t.add(Xy(this.getControllerVisual(e,"symbol"),n[0],n[1],n[2],n[3],this.getControllerVisual(e,"color")))},e.prototype._onItemClick=function(t){var e=this.visualMapModel,n=e.option,i=n.selectedMode;if(i){var r=T(n.selected),o=e.getSelectedMapKey(t);"single"===i||!0===i?(r[o]=!0,E(r,(function(t,e){r[e]=e===o}))):r[o]=!r[o],this.api.dispatchAction({type:"selectDataRange",from:this.uid,visualMapId:this.visualMapModel.id,selected:r})}},e.type="visualMap.piecewise",e}(WF);function fG(t){t.registerComponentModel(hG),t.registerComponentView(dG),lG(t)}var gG={label:{enabled:!0},decal:{show:!1}},yG=Vo(),vG={};function mG(t,e){var n=t.getModel("aria");if(n.get("enabled")){var i=T(gG);C(i.label,t.getLocaleModel().get("aria"),!1),C(n.option,i,!1),function(){if(n.getModel("decal").get("show")){var e=yt();t.eachSeries((function(t){if(!t.isColorBySeries()){var n=e.get(t.type);n||(n={},e.set(t.type,n)),yG(t).scope=n}})),t.eachRawSeries((function(e){if(!t.isSeriesFiltered(e))if(X(e.enableAriaDecal))e.enableAriaDecal();else{var n=e.getData();if(e.isColorBySeries()){var i=pd(e.ecModel,e.name,vG,t.getSeriesCount()),r=n.getVisual("decal");n.setVisual("decal",u(r,i))}else{var o=e.getRawData(),a={},s=yG(e).scope;n.each((function(t){var e=n.getRawIndex(t);a[e]=t}));var l=o.count();o.each((function(t){var i=a[t],r=o.getName(t)||t+"",h=pd(e.ecModel,r,s,l),c=n.getItemVisual(i,"decal");n.setItemVisual(i,"decal",u(c,h))}))}}function u(t,e){var n=t?A(A({},e),t):e;return n.dirty=!0,n}}))}}(),function(){var i=e.getZr().dom;if(!i)return;var o=t.getLocaleModel().get("aria"),a=n.getModel("label");if(a.option=k(a.option,o),!a.get("enabled"))return;if(a.get("description"))return void i.setAttribute("aria-label",a.get("description"));var s,l=t.getSeriesCount(),u=a.get(["data","maxCount"])||10,h=a.get(["series","maxCount"])||10,c=Math.min(l,h);if(l<1)return;var p=function(){var e=t.get("title");e&&e.length&&(e=e[0]);return e&&e.text}();s=p?r(a.get(["general","withTitle"]),{title:p}):a.get(["general","withoutTitle"]);var d=[];s+=r(l>1?a.get(["series","multiple","prefix"]):a.get(["series","single","prefix"]),{seriesCount:l}),t.eachSeries((function(e,n){if(n1?a.get(["series","multiple",o]):a.get(["series","single",o]),{seriesId:e.seriesIndex,seriesName:e.get("name"),seriesType:(x=e.subType,_=t.getLocaleModel().get(["series","typeNames"]),_[x]||_.chart)});var s=e.getData();if(s.count()>u)i+=r(a.get(["data","partialData"]),{displayCnt:u});else i+=a.get(["data","allData"]);for(var h=a.get(["data","separator","middle"]),p=a.get(["data","separator","end"]),f=[],g=0;g":"gt",">=":"gte","=":"eq","!=":"ne","<>":"ne"},bG=function(){function t(t){if(null==(this._condVal=U(t)?new RegExp(t):et(t)?t:null)){var e="";0,wo(e)}}return t.prototype.evaluate=function(t){var e=typeof t;return U(e)?this._condVal.test(t):!!j(e)&&this._condVal.test(t+"")},t}(),wG=function(){function t(){}return t.prototype.evaluate=function(){return this.value},t}(),SG=function(){function t(){}return t.prototype.evaluate=function(){for(var t=this.children,e=0;e2&&l.push(e),e=[t,n]}function f(t,n,i,r){EG(t,i)&&EG(n,r)||e.push(t,n,i,r,i,r)}function g(t,n,i,r,o,a){var s=Math.abs(n-t),l=4*Math.tan(s/4)/3,u=nM:C2&&l.push(e),l}function VG(t,e,n,i,r,o,a,s,l,u){if(EG(t,n)&&EG(e,i)&&EG(r,a)&&EG(o,s))l.push(a,s);else{var h=2/u,c=h*h,p=a-t,d=s-e,f=Math.sqrt(p*p+d*d);p/=f,d/=f;var g=n-t,y=i-e,v=r-a,m=o-s,x=g*g+y*y,_=v*v+m*m;if(x=0&&_-w*w=0)l.push(a,s);else{var S=[],M=[];wn(t,n,r,a,.5,S),wn(e,i,o,s,.5,M),VG(S[0],M[0],S[1],M[1],S[2],M[2],S[3],M[3],l,u),VG(S[4],M[4],S[5],M[5],S[6],M[6],S[7],M[7],l,u)}}}}function BG(t,e,n){var i=t[e],r=t[1-e],o=Math.abs(i/r),a=Math.ceil(Math.sqrt(o*n)),s=Math.floor(n/a);0===s&&(s=1,a=n);for(var l=[],u=0;u0)for(u=0;uMath.abs(u),c=BG([l,u],h?0:1,e),p=(h?s:u)/c.length,d=0;d1?null:new De(d*l+t,d*u+e)}function HG(t,e,n){var i=new De;De.sub(i,n,e),i.normalize();var r=new De;return De.sub(r,t,e),r.dot(i)}function YG(t,e){var n=t[t.length-1];n&&n[0]===e[0]&&n[1]===e[1]||t.push(e)}function XG(t){var e=t.points,n=[],i=[];Ba(e,n,i);var r=new ze(n[0],n[1],i[0]-n[0],i[1]-n[1]),o=r.width,a=r.height,s=r.x,l=r.y,u=new De,h=new De;return o>a?(u.x=h.x=s+o/2,u.y=l,h.y=l+a):(u.y=h.y=l+a/2,u.x=s,h.x=s+o),function(t,e,n){for(var i=t.length,r=[],o=0;or,a=BG([i,r],o?0:1,e),s=o?"width":"height",l=o?"height":"width",u=o?"x":"y",h=o?"y":"x",c=t[s]/a.length,p=0;p0)for(var b=i/n,w=-i/2;w<=i/2;w+=b){var S=Math.sin(w),M=Math.cos(w),I=0;for(x=0;x0;l/=2){var u=0,h=0;(t&l)>0&&(u=1),(e&l)>0&&(h=1),s+=l*l*(3*u^h),0===h&&(1===u&&(t=l-1-t,e=l-1-e),a=t,t=e,e=a)}return s}function lW(t){var e=1/0,n=1/0,i=-1/0,r=-1/0,o=z(t,(function(t){var o=t.getBoundingRect(),a=t.getComputedTransform(),s=o.x+o.width/2+(a?a[4]:0),l=o.y+o.height/2+(a?a[5]:0);return e=Math.min(s,e),n=Math.min(l,n),i=Math.max(s,i),r=Math.max(l,r),[s,l]}));return z(o,(function(o,a){return{cp:o,z:sW(o[0],o[1],e,n,i,r),path:t[a]}})).sort((function(t,e){return t.z-e.z})).map((function(t){return t.path}))}function uW(t){return jG(t.path,t.count)}function hW(t){return Y(t[0])}function cW(t,e){for(var n=[],i=t.length,r=0;r=0;r--)if(!n[r].many.length){var l=n[s].many;if(l.length<=1){if(!s)return n;s=0}o=l.length;var u=Math.ceil(o/2);n[r].many=l.slice(u,o),n[s].many=l.slice(0,u),s++}return n}var pW={clone:function(t){for(var e=[],n=1-Math.pow(1-t.path.style.opacity,1/t.count),i=0;i0){var s,l,u=i.getModel("universalTransition").get("delay"),h=Object.assign({setToFinal:!0},a);hW(t)&&(s=t,l=e),hW(e)&&(s=e,l=t);for(var c=s?s===t:t.length>e.length,p=s?cW(l,s):cW(c?e:t,[c?t:e]),d=0,f=0;f1e4))for(var r=n.getIndices(),o=0;o0&&i.group.traverse((function(t){t instanceof ks&&!t.animators.length&&t.animateFrom({style:{opacity:0}},r)}))}))}function SW(t){var e=t.getModel("universalTransition").get("seriesKey");return e||t.id}function MW(t){return Y(t)?t.sort().join(","):t}function IW(t){if(t.hostModel)return t.hostModel.getModel("universalTransition").get("divideShape")}function TW(t,e){for(var n=0;n=0&&r.push({dataGroupId:e.oldDataGroupIds[n],data:e.oldData[n],divide:IW(e.oldData[n]),groupIdDim:t.dimension})})),E(To(t.to),(function(t){var i=TW(n.updatedSeries,t);if(i>=0){var r=n.updatedSeries[i].getData();o.push({dataGroupId:e.oldDataGroupIds[i],data:r,divide:IW(r),groupIdDim:t.dimension})}})),r.length>0&&o.length>0&&wW(r,o,i)}(t,i,n,e)}));else{var o=function(t,e){var n=yt(),i=yt(),r=yt();return E(t.oldSeries,(function(e,n){var o=t.oldDataGroupIds[n],a=t.oldData[n],s=SW(e),l=MW(s);i.set(l,{dataGroupId:o,data:a}),Y(s)&&E(s,(function(t){r.set(t,{key:l,dataGroupId:o,data:a})}))})),E(e.updatedSeries,(function(t){if(t.isUniversalTransitionEnabled()&&t.isAnimationEnabled()){var e=t.get("dataGroupId"),o=t.getData(),a=SW(t),s=MW(a),l=i.get(s);if(l)n.set(s,{oldSeries:[{dataGroupId:l.dataGroupId,divide:IW(l.data),data:l.data}],newSeries:[{dataGroupId:e,divide:IW(o),data:o}]});else if(Y(a)){var u=[];E(a,(function(t){var e=i.get(t);e.data&&u.push({dataGroupId:e.dataGroupId,divide:IW(e.data),data:e.data})})),u.length&&n.set(s,{oldSeries:u,newSeries:[{dataGroupId:e,data:o,divide:IW(o)}]})}else{var h=r.get(a);if(h){var c=n.get(h.key);c||(c={oldSeries:[{dataGroupId:h.dataGroupId,data:h.data,divide:IW(h.data)}],newSeries:[]},n.set(h.key,c)),c.newSeries.push({dataGroupId:e,data:o,divide:IW(o)})}}}})),n}(i,n);E(o.keys(),(function(t){var n=o.get(t);wW(n.oldSeries,n.newSeries,e)}))}E(n.updatedSeries,(function(t){t[_g]&&(t[_g]=!1)}))}for(var a=t.getSeries(),s=i.oldSeries=[],l=i.oldDataGroupIds=[],u=i.oldData=[],h=0;h