You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicecomb.apache.org by li...@apache.org on 2024/08/20 09:46:45 UTC

(servicecomb-fence) branch master updated (ccaa6f2 -> d676a04)

This is an automated email from the ASF dual-hosted git repository.

liubao pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/servicecomb-fence.git


    from ccaa6f2  publish compiled code
     new f3e541f  rename to system management
     new 702cbca  add service management page
     new a1aab16  implement service discovery page
     new d676a04  publish compiled code

The 4 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../fence/admin/AdminDiscoveryEndpoint.java        |    89 +
 .../src/main/resources/static/assets/home-down.js  |    10 -
 .../main/resources/static/assets/home-mainup.png   |   Bin 9849 -> 0 bytes
 .../src/main/resources/static/assets/index.css     |    38 +-
 .../src/main/resources/static/assets/index.js      |  6116 ++--
 .../src/main/resources/static/assets/index10.js    |     2 +-
 .../src/main/resources/static/assets/index11.js    |    60 +-
 .../src/main/resources/static/assets/index3.js     | 24915 +++++++++++++-
 .../src/main/resources/static/assets/index4.css    |   255 +-
 .../src/main/resources/static/assets/index5.css    |    32 +-
 .../src/main/resources/static/assets/index5.js     | 33331 +------------------
 .../src/main/resources/static/assets/index6.js     |     3 +-
 .../src/main/resources/static/assets/index8.js     |     5 +-
 .../src/main/resources/static/assets/index9.js     |    86 +-
 .../src/main/resources/static/assets/time.css      |     1 +
 .../src/main/resources/static/assets/time.js       |  9397 ++++++
 .../src/main/resources/static/assets/vue.js        |     8 +-
 .../resources/static/assets/warning-triangle.js    |    54 +
 admin-website/src/main/web/src/api/problems.ts     |    15 +
 .../src/main/web/src/components/menu/index.vue     |     6 +-
 admin-website/src/main/web/src/locale/en-US.ts     |     8 +-
 admin-website/src/main/web/src/locale/zh-CN.ts     |     8 +-
 admin-website/src/main/web/src/router/index.ts     |     2 +-
 .../routes/modules/{kanban.ts => management.ts}    |    16 +-
 .../web/src/views/board/home/components/curve.vue  |   256 -
 .../web/src/views/board/home/components/falls.vue  |   222 -
 .../web/src/views/board/home/components/main.vue   |   202 -
 .../web/src/views/board/home/components/region.vue |   168 -
 .../views/board/home/components/regiontable.vue    |   125 -
 .../web/src/views/board/home/components/round.vue  |   129 -
 .../src/views/board/home/components/roundtable.vue |   137 -
 .../problems/components/call-chain-list.vue        |    10 +-
 .../views/management/home/components/service.vue   |   237 +
 .../src/views/{board => management}/home/index.vue |    14 +-
 .../web/src/views/{board => management}/index.vue  |     0
 .../views/{board => management}/locale/en-US.ts    |     0
 .../views/{board => management}/locale/zh-CN.ts    |     0
 .../fence/api/admin/AdminDiscoveryService.java     |    22 +-
 .../api/admin/FindServiceInstancesResponse.java}   |    26 +-
 .../fence/api/admin/FindServicesResponse.java}     |    37 +-
 40 files changed, 37084 insertions(+), 38958 deletions(-)
 create mode 100644 admin-service/src/main/java/org/apache/servicecomb/fence/admin/AdminDiscoveryEndpoint.java
 delete mode 100644 admin-website/src/main/resources/static/assets/home-down.js
 delete mode 100644 admin-website/src/main/resources/static/assets/home-mainup.png
 create mode 100644 admin-website/src/main/resources/static/assets/time.css
 create mode 100644 admin-website/src/main/resources/static/assets/time.js
 create mode 100644 admin-website/src/main/resources/static/assets/warning-triangle.js
 rename admin-website/src/main/web/src/router/routes/modules/{kanban.ts => management.ts} (54%)
 delete mode 100644 admin-website/src/main/web/src/views/board/home/components/curve.vue
 delete mode 100644 admin-website/src/main/web/src/views/board/home/components/falls.vue
 delete mode 100644 admin-website/src/main/web/src/views/board/home/components/main.vue
 delete mode 100644 admin-website/src/main/web/src/views/board/home/components/region.vue
 delete mode 100644 admin-website/src/main/web/src/views/board/home/components/regiontable.vue
 delete mode 100644 admin-website/src/main/web/src/views/board/home/components/round.vue
 delete mode 100644 admin-website/src/main/web/src/views/board/home/components/roundtable.vue
 create mode 100644 admin-website/src/main/web/src/views/management/home/components/service.vue
 rename admin-website/src/main/web/src/views/{board => management}/home/index.vue (52%)
 rename admin-website/src/main/web/src/views/{board => management}/index.vue (100%)
 rename admin-website/src/main/web/src/views/{board => management}/locale/en-US.ts (100%)
 rename admin-website/src/main/web/src/views/{board => management}/locale/zh-CN.ts (100%)
 copy resource-server/src/main/java/org/apache/servicecomb/fence/resource/FileStoreService.java => apis/admin-service-api/src/main/java/org/apache/servicecomb/fence/api/admin/AdminDiscoveryService.java (59%)
 copy apis/{observability-api/src/main/java/org/apache/servicecomb/fence/api/observability/Endpoint.java => admin-service-api/src/main/java/org/apache/servicecomb/fence/api/admin/FindServiceInstancesResponse.java} (66%)
 copy apis/{observability-api/src/main/java/org/apache/servicecomb/fence/api/observability/Endpoint.java => admin-service-api/src/main/java/org/apache/servicecomb/fence/api/admin/FindServicesResponse.java} (54%)


(servicecomb-fence) 04/04: publish compiled code

Posted by li...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

liubao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/servicecomb-fence.git

commit d676a04398f5a19f7b959e13087b471491dec8ba
Author: liubao <bi...@qq.com>
AuthorDate: Tue Aug 20 16:39:18 2024 +0800

    publish compiled code
---
 .../src/main/resources/static/assets/home-down.js  |    10 -
 .../main/resources/static/assets/home-mainup.png   |   Bin 9849 -> 0 bytes
 .../src/main/resources/static/assets/index.css     |    38 +-
 .../src/main/resources/static/assets/index.js      |  6116 ++--
 .../src/main/resources/static/assets/index10.js    |     2 +-
 .../src/main/resources/static/assets/index11.js    |    60 +-
 .../src/main/resources/static/assets/index3.js     | 24915 +++++++++++++-
 .../src/main/resources/static/assets/index4.css    |   255 +-
 .../src/main/resources/static/assets/index5.css    |    32 +-
 .../src/main/resources/static/assets/index5.js     | 33331 +------------------
 .../src/main/resources/static/assets/index6.js     |     3 +-
 .../src/main/resources/static/assets/index8.js     |     5 +-
 .../src/main/resources/static/assets/index9.js     |    86 +-
 .../src/main/resources/static/assets/time.css      |     1 +
 .../src/main/resources/static/assets/time.js       |  9397 ++++++
 .../src/main/resources/static/assets/vue.js        |     8 +-
 .../resources/static/assets/warning-triangle.js    |    54 +
 17 files changed, 36667 insertions(+), 37646 deletions(-)

diff --git a/admin-website/src/main/resources/static/assets/home-down.js b/admin-website/src/main/resources/static/assets/home-down.js
deleted file mode 100644
index 63e1feb..0000000
--- a/admin-website/src/main/resources/static/assets/home-down.js
+++ /dev/null
@@ -1,10 +0,0 @@
-const _imports_0 = "/ui/admin/assets/home-main1.png";
-const _imports_1 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAYAAABWdVznAAABP0lEQVQoU32Rv0vDQBzF38spTRBBcGtNcbKLOjgJCqJTJ3XwH9DNooJuOjm5qUhsRx07Ce3qqEMnEcRJHIpRwR+DIG0abPKV1CbEVrzl7t7d5/u+944iIAlBezSOUyNCVaJ4i/ra012ohzPjQM0yk5pCBWAaQNX3ZKpv3X6OQww3cjg80Eh4lwBHIw1yY7hqhpvVj8ghWNgHQ8ZgQjsnMd3ZAkQu3l3JmluPTnDWcqjnzRLJha7LbYHAmZ57WIqARiGZodajIDLuC4sxcEfTUJam1wwDiN7QciqkJglVifr1vUxnUr+AmmXOa4rlH0BujZw91hVrXHAK6W0Ae21gxcjZp/8C9Xz6isREkIz+Zs9yF34caP1ZKDiWuQzFEwLXX3Sz/asvr53VI+DTSs [...]
-const _imports_2 = "/ui/admin/assets/home-main2.png";
-const _imports_3 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAYAAABWdVznAAABOUlEQVQoU33RPS9DURgH8P9z7hWRGMylL5MOwmAit1rdGomLRux8CyaTyeQDMDaRCKeNGCzNzaUTEjGJoVokTDaanHseOVfKdaM908l5/r/z8hxiBhVq6SKAXSZUhq2BvbOFhw56DDKACJyrJdcFi30AN0p9li7Lr2//GYou5qvpKwDTAHvedauIbeg4+gPmZGaTiHdMSJPe8BfbB31BXiZdkJDfIb7z3NZkX+BUMzMWuNENaaWyfvn5PorCKzkykRVsW7B5irSodAPMvAWGZB2oLgxBvpaSYHJ7tRLAkec+rpp6CGYPx4bsQXFORE4cMbOnOrrUWHv6+AFmMn+cGQks7RNoIoJuRUCF+krzPWyD+bPojo5MJgSJBgEpAM2AtXOx1H75fVMMmELudH [...]
-export {
-  _imports_0 as _,
-  _imports_1 as a,
-  _imports_2 as b,
-  _imports_3 as c
-};
diff --git a/admin-website/src/main/resources/static/assets/home-mainup.png b/admin-website/src/main/resources/static/assets/home-mainup.png
deleted file mode 100644
index 2cc26f2..0000000
Binary files a/admin-website/src/main/resources/static/assets/home-mainup.png and /dev/null differ
diff --git a/admin-website/src/main/resources/static/assets/index.css b/admin-website/src/main/resources/static/assets/index.css
index 60b0e5f..40805b2 100644
--- a/admin-website/src/main/resources/static/assets/index.css
+++ b/admin-website/src/main/resources/static/assets/index.css
@@ -454,7 +454,7 @@
   font-size: 14px;
   text-align: left;
 }
-.main-title[data-v-d3b6fae6] {
+.main-title[data-v-22812e81] {
   height: 20px;
   font-size: 14px;
   line-height: 20px;
@@ -464,81 +464,81 @@
   word-break: break-all;
   color: #000;
 }
-.title[data-v-d3b6fae6] {
+.title[data-v-22812e81] {
   height: 20px;
   font-size: 14px;
   line-height: 20px;
   text-align: left;
 }
-.menu-title[data-v-d3b6fae6] {
+.menu-title[data-v-22812e81] {
   display: flex;
   gap: 10px;
   align-items: center;
   height: 20px;
 }
-.menu-title > svg[data-v-d3b6fae6] {
+.menu-title > svg[data-v-22812e81] {
   width: 1.3em;
   height: 1.3em;
 }
-[data-v-d3b6fae6] .tiny-tree-node__wrapper > .is-current > .tiny-tree-node__content {
+[data-v-22812e81] .tiny-tree-node__wrapper > .is-current > .tiny-tree-node__content {
   color: #000 !important;
   background: none !important;
   margin-left: 0 !important;
 }
-[data-v-d3b6fae6] .tiny-tree-node__wrapper > .is-current > .tiny-tree-node__content:hover {
+[data-v-22812e81] .tiny-tree-node__wrapper > .is-current > .tiny-tree-node__content:hover {
   background: #fff !important;
   color: #fff !important;
 }
-[data-v-d3b6fae6] .tiny-tree-node__wrapper > .is-expanded >  .tiny-tree-node__children
+[data-v-22812e81] .tiny-tree-node__wrapper > .is-expanded >  .tiny-tree-node__children
   > .tiny-tree-node__wrapper > .is-current > .tiny-tree-node__content
    {
   background-color: var(--ti-tree-menu-node-hover-bg-color) !important;
   margin-left: 0 !important;
 }
-[data-v-d3b6fae6] .tiny-tree-node__wrapper > .is-expanded >  .tiny-tree-node__children
+[data-v-22812e81] .tiny-tree-node__wrapper > .is-expanded >  .tiny-tree-node__children
   > .tiny-tree-node__wrapper > .is-current > .tiny-tree-node__content
   :hover {
   background: var(--ti-tree-menu-node-hover-bg-color) !important;
 }
-[data-v-d3b6fae6] .tiny-tree-node__wrapper > .is-expanded > .tiny-tree-node__children
+[data-v-22812e81] .tiny-tree-node__wrapper > .is-expanded > .tiny-tree-node__children
   .tiny-tree-node__wrapper .is-current .tiny-tree-node__content .tree-node-name {
   border-left: 2px solid var(--ti-tree-menu-square-left-border-color, '#fff') !important;
 }
-[data-v-d3b6fae6] .tiny-tree-node__wrapper > .is-expanded > .tiny-tree-node__children
+[data-v-22812e81] .tiny-tree-node__wrapper > .is-expanded > .tiny-tree-node__children
   .tiny-tree-node__wrapper .is-current .tiny-tree-node__content .tiny-tree-node__content-right {
   background-color: var(--ti-tree-menu-node-hover-bg-color) !important;
 }
-[data-v-d3b6fae6] .tiny-tree-node__wrapper > .is-expanded > .tiny-tree-node__children
+[data-v-22812e81] .tiny-tree-node__wrapper > .is-expanded > .tiny-tree-node__children
   .tiny-tree-node__wrapper .is-current .tiny-tree-node__content .tiny-tree-node__content-left
   .tiny-tree-node__content-box {
   background-color: var(--ti-tree-menu-node-hover-bg-color) !important;
 }
-[data-v-d3b6fae6] .tiny-tree-node__wrapper > .is-expanded > .tiny-tree-node__children
+[data-v-22812e81] .tiny-tree-node__wrapper > .is-expanded > .tiny-tree-node__children
   .tiny-tree-node__wrapper .is-current .tiny-tree-node__content .tiny-tree-node__content-left
   .tiny-tree-node__content-box:before {
   display: none !important;
 }
-[data-v-d3b6fae6] .tiny-tree-node__wrapper > .is-expanded > .tiny-tree-node__children
+[data-v-22812e81] .tiny-tree-node__wrapper > .is-expanded > .tiny-tree-node__children
   .tiny-tree-node__wrapper .is-current .tiny-tree-node__content .tiny-tree-node__content-left:before {
   display: none !important;
 }
-[data-v-d3b6fae6] .tiny-tree-node__wrapper > .is-current > .tiny-tree-node__content {
+[data-v-22812e81] .tiny-tree-node__wrapper > .is-current > .tiny-tree-node__content {
   background-color: #fff !important;
 }
-[data-v-d3b6fae6] .tiny-tree-node__wrapper > .is-current > .tiny-tree-node__content .tiny-tree-node__content-box {
+[data-v-22812e81] .tiny-tree-node__wrapper > .is-current > .tiny-tree-node__content .tiny-tree-node__content-box {
   background-color: #fff !important;
 }
-[data-v-d3b6fae6] .tiny-tree-node__content:hover {
+[data-v-22812e81] .tiny-tree-node__content:hover {
   background-color: var(--ti-tree-node-content-hover-bg-color) !important;
 }
-[data-v-d3b6fae6] .tiny-tree-menu__wrap > .tiny-tree-node__wrapper > .is-root > .tiny-tree-node__content
+[data-v-22812e81] .tiny-tree-menu__wrap > .tiny-tree-node__wrapper > .is-root > .tiny-tree-node__content
   > .tiny-tree-node__content-left .tiny-tree-node__content-box .tree-node-name {
   padding: 0 8px !important;
 }
-[data-v-d3b6fae6] .tiny-tree-node > .tiny-tree-node__content {
+[data-v-22812e81] .tiny-tree-node > .tiny-tree-node__content {
   margin-left: 0 !important;
 }
-.tiny-tree-menu .tiny-tree .tiny-tree-node.is-current > .tiny-tree-node__content .tree-node-name .tiny-svg[data-v-d3b6fae6] {
+.tiny-tree-menu .tiny-tree .tiny-tree-node.is-current > .tiny-tree-node__content .tree-node-name .tiny-svg[data-v-22812e81] {
   fill: var(--ti-base-icon-color);
 }
 .layout[data-v-6254482e] {
diff --git a/admin-website/src/main/resources/static/assets/index.js b/admin-website/src/main/resources/static/assets/index.js
index 7f57ed8..dffd0d3 100644
--- a/admin-website/src/main/resources/static/assets/index.js
+++ b/admin-website/src/main/resources/static/assets/index.js
@@ -72,13 +72,13 @@ else if (typeof commonjsGlobal !== "undefined") {
 }
 var zrender = {};
 var idStart = 2311;
-function _default$1g() {
+function _default$1b() {
   return idStart++;
 }
-var guid$3 = _default$1g;
-var env$a = {};
+var guid$3 = _default$1b;
+var env$9 = {};
 if (typeof wx === "object" && typeof wx.getSystemInfoSync === "function") {
-  env$a = {
+  env$9 = {
     browser: {},
     os: {},
     node: false,
@@ -90,7 +90,7 @@ if (typeof wx === "object" && typeof wx.getSystemInfoSync === "function") {
     domSupported: false
   };
 } else if (typeof document === "undefined" && typeof self !== "undefined") {
-  env$a = {
+  env$9 = {
     browser: {},
     os: {},
     node: false,
@@ -99,7 +99,7 @@ if (typeof wx === "object" && typeof wx.getSystemInfoSync === "function") {
     domSupported: false
   };
 } else if (typeof navigator === "undefined") {
-  env$a = {
+  env$9 = {
     browser: {},
     os: {},
     node: true,
@@ -110,9 +110,9 @@ if (typeof wx === "object" && typeof wx.getSystemInfoSync === "function") {
     domSupported: false
   };
 } else {
-  env$a = detect(navigator.userAgent);
+  env$9 = detect(navigator.userAgent);
 }
-var _default$1f = env$a;
+var _default$1a = env$9;
 function detect(ua2) {
   var os = {};
   var browser = {};
@@ -163,7 +163,7 @@ function detect(ua2) {
     domSupported: typeof document !== "undefined"
   };
 }
-var env_1 = _default$1f;
+var env_1 = _default$1a;
 var util$8 = {};
 var BUILTIN_OBJECT = {
   "[object Function]": 1,
@@ -201,7 +201,7 @@ function $override$1(name2, fn) {
   }
   methods$1[name2] = fn;
 }
-function clone$4(source) {
+function clone$2(source) {
   if (source == null || typeof source !== "object") {
     return source;
   }
@@ -210,8 +210,8 @@ function clone$4(source) {
   if (typeStr === "[object Array]") {
     if (!isPrimitive(source)) {
       result = [];
-      for (var i2 = 0, len2 = source.length; i2 < len2; i2++) {
-        result[i2] = clone$4(source[i2]);
+      for (var i2 = 0, len = source.length; i2 < len; i2++) {
+        result[i2] = clone$2(source[i2]);
       }
     }
   } else if (TYPED_ARRAY[typeStr]) {
@@ -221,8 +221,8 @@ function clone$4(source) {
         result = Ctor.from(source);
       } else {
         result = new Ctor(source.length);
-        for (var i2 = 0, len2 = source.length; i2 < len2; i2++) {
-          result[i2] = clone$4(source[i2]);
+        for (var i2 = 0, len = source.length; i2 < len; i2++) {
+          result[i2] = clone$2(source[i2]);
         }
       }
     }
@@ -230,7 +230,7 @@ function clone$4(source) {
     result = {};
     for (var key2 in source) {
       if (source.hasOwnProperty(key2)) {
-        result[key2] = clone$4(source[key2]);
+        result[key2] = clone$2(source[key2]);
       }
     }
   }
@@ -238,7 +238,7 @@ function clone$4(source) {
 }
 function merge$4(target, source, overwrite) {
   if (!isObject$9(source) || !isObject$9(target)) {
-    return overwrite ? clone$4(source) : target;
+    return overwrite ? clone$2(source) : target;
   }
   for (var key2 in source) {
     if (source.hasOwnProperty(key2)) {
@@ -247,7 +247,7 @@ function merge$4(target, source, overwrite) {
       if (isObject$9(sourceProp) && isObject$9(targetProp) && !isArray$6(sourceProp) && !isArray$6(targetProp) && !isDom(sourceProp) && !isDom(targetProp) && !isBuiltInObject(sourceProp) && !isBuiltInObject(targetProp) && !isPrimitive(sourceProp) && !isPrimitive(targetProp)) {
         merge$4(targetProp, sourceProp, overwrite);
       } else if (overwrite || !(key2 in target)) {
-        target[key2] = clone$4(source[key2]);
+        target[key2] = clone$2(source[key2]);
       }
     }
   }
@@ -255,7 +255,7 @@ function merge$4(target, source, overwrite) {
 }
 function mergeAll(targetAndSources, overwrite) {
   var result = targetAndSources[0];
-  for (var i2 = 1, len2 = targetAndSources.length; i2 < len2; i2++) {
+  for (var i2 = 1, len = targetAndSources.length; i2 < len; i2++) {
     result = merge$4(result, targetAndSources[i2], overwrite);
   }
   return result;
@@ -294,7 +294,7 @@ function indexOf$3(array, value) {
     if (array.indexOf) {
       return array.indexOf(value);
     }
-    for (var i2 = 0, len2 = array.length; i2 < len2; i2++) {
+    for (var i2 = 0, len = array.length; i2 < len; i2++) {
       if (array[i2] === value) {
         return i2;
       }
@@ -316,7 +316,7 @@ function inherits$2(clazz2, baseClazz) {
   clazz2.prototype.constructor = clazz2;
   clazz2.superClass = baseClazz;
 }
-function mixin$2(target, source, overlay) {
+function mixin$1(target, source, overlay) {
   target = "prototype" in target ? target.prototype : target;
   source = "prototype" in source ? source.prototype : source;
   defaults$3(target, source, overlay);
@@ -337,7 +337,7 @@ function each$e(obj, cb, context) {
   if (obj.forEach && obj.forEach === nativeForEach) {
     obj.forEach(cb, context);
   } else if (obj.length === +obj.length) {
-    for (var i2 = 0, len2 = obj.length; i2 < len2; i2++) {
+    for (var i2 = 0, len = obj.length; i2 < len; i2++) {
       cb.call(context, obj[i2], i2, obj);
     }
   } else {
@@ -356,7 +356,7 @@ function map$4(obj, cb, context) {
     return obj.map(cb, context);
   } else {
     var result = [];
-    for (var i2 = 0, len2 = obj.length; i2 < len2; i2++) {
+    for (var i2 = 0, len = obj.length; i2 < len; i2++) {
       result.push(cb.call(context, obj[i2], i2, obj));
     }
     return result;
@@ -369,7 +369,7 @@ function reduce(obj, cb, memo, context) {
   if (obj.reduce && obj.reduce === nativeReduce) {
     return obj.reduce(cb, memo, context);
   } else {
-    for (var i2 = 0, len2 = obj.length; i2 < len2; i2++) {
+    for (var i2 = 0, len = obj.length; i2 < len; i2++) {
       memo = cb.call(context, memo, obj[i2], i2, obj);
     }
     return memo;
@@ -383,7 +383,7 @@ function filter$3(obj, cb, context) {
     return obj.filter(cb, context);
   } else {
     var result = [];
-    for (var i2 = 0, len2 = obj.length; i2 < len2; i2++) {
+    for (var i2 = 0, len = obj.length; i2 < len; i2++) {
       if (cb.call(context, obj[i2], i2, obj)) {
         result.push(obj[i2]);
       }
@@ -395,7 +395,7 @@ function find$1(obj, cb, context) {
   if (!(obj && cb)) {
     return;
   }
-  for (var i2 = 0, len2 = obj.length; i2 < len2; i2++) {
+  for (var i2 = 0, len = obj.length; i2 < len; i2++) {
     if (cb.call(context, obj[i2], i2, obj)) {
       return obj[i2];
     }
@@ -439,7 +439,7 @@ function eqNaN(value) {
   return value !== value;
 }
 function retrieve(values) {
-  for (var i2 = 0, len2 = arguments.length; i2 < len2; i2++) {
+  for (var i2 = 0, len = arguments.length; i2 < len; i2++) {
     if (arguments[i2] != null) {
       return arguments[i2];
     }
@@ -454,14 +454,14 @@ function retrieve3$2(value0, value1, value2) {
 function slice() {
   return Function.call.apply(nativeSlice, arguments);
 }
-function normalizeCssArray$2(val) {
+function normalizeCssArray$1(val) {
   if (typeof val === "number") {
     return [val, val, val, val];
   }
-  var len2 = val.length;
-  if (len2 === 2) {
+  var len = val.length;
+  if (len === 2) {
     return [val[0], val[1], val[0], val[1]];
-  } else if (len2 === 3) {
+  } else if (len === 3) {
     return [val[0], val[1], val[2], val[1]];
   }
   return val;
@@ -537,7 +537,7 @@ function concatArray(a2, b) {
 function noop$5() {
 }
 util$8.$override = $override$1;
-util$8.clone = clone$4;
+util$8.clone = clone$2;
 util$8.merge = merge$4;
 util$8.mergeAll = mergeAll;
 util$8.extend = extend$8;
@@ -546,7 +546,7 @@ util$8.createCanvas = createCanvas;
 util$8.getContext = getContext$1;
 util$8.indexOf = indexOf$3;
 util$8.inherits = inherits$2;
-util$8.mixin = mixin$2;
+util$8.mixin = mixin$1;
 util$8.isArrayLike = isArrayLike$2;
 util$8.each = each$e;
 util$8.map = map$4;
@@ -567,7 +567,7 @@ util$8.retrieve = retrieve;
 util$8.retrieve2 = retrieve2$2;
 util$8.retrieve3 = retrieve3$2;
 util$8.slice = slice;
-util$8.normalizeCssArray = normalizeCssArray$2;
+util$8.normalizeCssArray = normalizeCssArray$1;
 util$8.assert = assert$1;
 util$8.trim = trim$3;
 util$8.setAsPrimitive = setAsPrimitive;
@@ -576,147 +576,154 @@ util$8.createHashMap = createHashMap$4;
 util$8.concatArray = concatArray;
 util$8.noop = noop$5;
 var vector$2 = {};
-var ArrayCtor$1 = typeof Float32Array === "undefined" ? Array : Float32Array;
-function create$1(x, y) {
-  var out2 = new ArrayCtor$1(2);
-  if (x == null) {
-    x = 0;
+var hasRequiredVector;
+function requireVector() {
+  if (hasRequiredVector)
+    return vector$2;
+  hasRequiredVector = 1;
+  var ArrayCtor = typeof Float32Array === "undefined" ? Array : Float32Array;
+  function create(x, y) {
+    var out2 = new ArrayCtor(2);
+    if (x == null) {
+      x = 0;
+    }
+    if (y == null) {
+      y = 0;
+    }
+    out2[0] = x;
+    out2[1] = y;
+    return out2;
   }
-  if (y == null) {
-    y = 0;
+  function copy(out2, v) {
+    out2[0] = v[0];
+    out2[1] = v[1];
+    return out2;
   }
-  out2[0] = x;
-  out2[1] = y;
-  return out2;
-}
-function copy$1(out2, v) {
-  out2[0] = v[0];
-  out2[1] = v[1];
-  return out2;
-}
-function clone$3(v) {
-  var out2 = new ArrayCtor$1(2);
-  out2[0] = v[0];
-  out2[1] = v[1];
-  return out2;
-}
-function set$1(out2, a2, b) {
-  out2[0] = a2;
-  out2[1] = b;
-  return out2;
-}
-function add(out2, v1, v2) {
-  out2[0] = v1[0] + v2[0];
-  out2[1] = v1[1] + v2[1];
-  return out2;
-}
-function scaleAndAdd(out2, v1, v2, a2) {
-  out2[0] = v1[0] + v2[0] * a2;
-  out2[1] = v1[1] + v2[1] * a2;
-  return out2;
-}
-function sub(out2, v1, v2) {
-  out2[0] = v1[0] - v2[0];
-  out2[1] = v1[1] - v2[1];
-  return out2;
-}
-function len(v) {
-  return Math.sqrt(lenSquare(v));
-}
-var length = len;
-function lenSquare(v) {
-  return v[0] * v[0] + v[1] * v[1];
-}
-var lengthSquare = lenSquare;
-function mul$1(out2, v1, v2) {
-  out2[0] = v1[0] * v2[0];
-  out2[1] = v1[1] * v2[1];
-  return out2;
-}
-function div(out2, v1, v2) {
-  out2[0] = v1[0] / v2[0];
-  out2[1] = v1[1] / v2[1];
-  return out2;
-}
-function dot(v1, v2) {
-  return v1[0] * v2[0] + v1[1] * v2[1];
-}
-function scale$1(out2, v, s2) {
-  out2[0] = v[0] * s2;
-  out2[1] = v[1] * s2;
-  return out2;
-}
-function normalize(out2, v) {
-  var d2 = len(v);
-  if (d2 === 0) {
-    out2[0] = 0;
-    out2[1] = 0;
-  } else {
-    out2[0] = v[0] / d2;
-    out2[1] = v[1] / d2;
+  function clone2(v) {
+    var out2 = new ArrayCtor(2);
+    out2[0] = v[0];
+    out2[1] = v[1];
+    return out2;
   }
-  return out2;
-}
-function distance(v1, v2) {
-  return Math.sqrt((v1[0] - v2[0]) * (v1[0] - v2[0]) + (v1[1] - v2[1]) * (v1[1] - v2[1]));
-}
-var dist$1 = distance;
-function distanceSquare(v1, v2) {
-  return (v1[0] - v2[0]) * (v1[0] - v2[0]) + (v1[1] - v2[1]) * (v1[1] - v2[1]);
-}
-var distSquare = distanceSquare;
-function negate(out2, v) {
-  out2[0] = -v[0];
-  out2[1] = -v[1];
-  return out2;
-}
-function lerp$1(out2, v1, v2, t2) {
-  out2[0] = v1[0] + t2 * (v2[0] - v1[0]);
-  out2[1] = v1[1] + t2 * (v2[1] - v1[1]);
-  return out2;
-}
-function applyTransform$1(out2, v, m2) {
-  var x = v[0];
-  var y = v[1];
-  out2[0] = m2[0] * x + m2[2] * y + m2[4];
-  out2[1] = m2[1] * x + m2[3] * y + m2[5];
-  return out2;
-}
-function min$1(out2, v1, v2) {
-  out2[0] = Math.min(v1[0], v2[0]);
-  out2[1] = Math.min(v1[1], v2[1]);
-  return out2;
-}
-function max$1(out2, v1, v2) {
-  out2[0] = Math.max(v1[0], v2[0]);
-  out2[1] = Math.max(v1[1], v2[1]);
-  return out2;
+  function set2(out2, a2, b) {
+    out2[0] = a2;
+    out2[1] = b;
+    return out2;
+  }
+  function add(out2, v1, v2) {
+    out2[0] = v1[0] + v2[0];
+    out2[1] = v1[1] + v2[1];
+    return out2;
+  }
+  function scaleAndAdd(out2, v1, v2, a2) {
+    out2[0] = v1[0] + v2[0] * a2;
+    out2[1] = v1[1] + v2[1] * a2;
+    return out2;
+  }
+  function sub(out2, v1, v2) {
+    out2[0] = v1[0] - v2[0];
+    out2[1] = v1[1] - v2[1];
+    return out2;
+  }
+  function len(v) {
+    return Math.sqrt(lenSquare(v));
+  }
+  var length = len;
+  function lenSquare(v) {
+    return v[0] * v[0] + v[1] * v[1];
+  }
+  var lengthSquare = lenSquare;
+  function mul(out2, v1, v2) {
+    out2[0] = v1[0] * v2[0];
+    out2[1] = v1[1] * v2[1];
+    return out2;
+  }
+  function div(out2, v1, v2) {
+    out2[0] = v1[0] / v2[0];
+    out2[1] = v1[1] / v2[1];
+    return out2;
+  }
+  function dot(v1, v2) {
+    return v1[0] * v2[0] + v1[1] * v2[1];
+  }
+  function scale(out2, v, s2) {
+    out2[0] = v[0] * s2;
+    out2[1] = v[1] * s2;
+    return out2;
+  }
+  function normalize(out2, v) {
+    var d2 = len(v);
+    if (d2 === 0) {
+      out2[0] = 0;
+      out2[1] = 0;
+    } else {
+      out2[0] = v[0] / d2;
+      out2[1] = v[1] / d2;
+    }
+    return out2;
+  }
+  function distance(v1, v2) {
+    return Math.sqrt((v1[0] - v2[0]) * (v1[0] - v2[0]) + (v1[1] - v2[1]) * (v1[1] - v2[1]));
+  }
+  var dist2 = distance;
+  function distanceSquare(v1, v2) {
+    return (v1[0] - v2[0]) * (v1[0] - v2[0]) + (v1[1] - v2[1]) * (v1[1] - v2[1]);
+  }
+  var distSquare = distanceSquare;
+  function negate(out2, v) {
+    out2[0] = -v[0];
+    out2[1] = -v[1];
+    return out2;
+  }
+  function lerp2(out2, v1, v2, t2) {
+    out2[0] = v1[0] + t2 * (v2[0] - v1[0]);
+    out2[1] = v1[1] + t2 * (v2[1] - v1[1]);
+    return out2;
+  }
+  function applyTransform2(out2, v, m2) {
+    var x = v[0];
+    var y = v[1];
+    out2[0] = m2[0] * x + m2[2] * y + m2[4];
+    out2[1] = m2[1] * x + m2[3] * y + m2[5];
+    return out2;
+  }
+  function min3(out2, v1, v2) {
+    out2[0] = Math.min(v1[0], v2[0]);
+    out2[1] = Math.min(v1[1], v2[1]);
+    return out2;
+  }
+  function max3(out2, v1, v2) {
+    out2[0] = Math.max(v1[0], v2[0]);
+    out2[1] = Math.max(v1[1], v2[1]);
+    return out2;
+  }
+  vector$2.create = create;
+  vector$2.copy = copy;
+  vector$2.clone = clone2;
+  vector$2.set = set2;
+  vector$2.add = add;
+  vector$2.scaleAndAdd = scaleAndAdd;
+  vector$2.sub = sub;
+  vector$2.len = len;
+  vector$2.length = length;
+  vector$2.lenSquare = lenSquare;
+  vector$2.lengthSquare = lengthSquare;
+  vector$2.mul = mul;
+  vector$2.div = div;
+  vector$2.dot = dot;
+  vector$2.scale = scale;
+  vector$2.normalize = normalize;
+  vector$2.distance = distance;
+  vector$2.dist = dist2;
+  vector$2.distanceSquare = distanceSquare;
+  vector$2.distSquare = distSquare;
+  vector$2.negate = negate;
+  vector$2.lerp = lerp2;
+  vector$2.applyTransform = applyTransform2;
+  vector$2.min = min3;
+  vector$2.max = max3;
+  return vector$2;
 }
-vector$2.create = create$1;
-vector$2.copy = copy$1;
-vector$2.clone = clone$3;
-vector$2.set = set$1;
-vector$2.add = add;
-vector$2.scaleAndAdd = scaleAndAdd;
-vector$2.sub = sub;
-vector$2.len = len;
-vector$2.length = length;
-vector$2.lenSquare = lenSquare;
-vector$2.lengthSquare = lengthSquare;
-vector$2.mul = mul$1;
-vector$2.div = div;
-vector$2.dot = dot;
-vector$2.scale = scale$1;
-vector$2.normalize = normalize;
-vector$2.distance = distance;
-vector$2.dist = dist$1;
-vector$2.distanceSquare = distanceSquare;
-vector$2.distSquare = distSquare;
-vector$2.negate = negate;
-vector$2.lerp = lerp$1;
-vector$2.applyTransform = applyTransform$1;
-vector$2.min = min$1;
-vector$2.max = max$1;
 function Draggable$1() {
   this.on("mousedown", this._dragStart, this);
   this.on("mousemove", this._drag, this);
@@ -780,8 +787,8 @@ function param(target, e2) {
     topTarget: e2 && e2.topTarget
   };
 }
-var _default$1e = Draggable$1;
-var Draggable_1 = _default$1e;
+var _default$19 = Draggable$1;
+var Draggable_1 = _default$19;
 var arrySlice = Array.prototype.slice;
 var Eventful$4 = function(eventProcessor) {
   this._$handlers = {};
@@ -867,8 +874,8 @@ Eventful$4.prototype = {
       if (argLen > 3) {
         args = arrySlice.call(args, 1);
       }
-      var len2 = _h.length;
-      for (var i2 = 0; i2 < len2; ) {
+      var len = _h.length;
+      for (var i2 = 0; i2 < len; ) {
         var hItem = _h[i2];
         if (eventProcessor && eventProcessor.filter && hItem.query != null && !eventProcessor.filter(type2, hItem.query)) {
           i2++;
@@ -890,7 +897,7 @@ Eventful$4.prototype = {
         }
         if (hItem.one) {
           _h.splice(i2, 1);
-          len2--;
+          len--;
         } else {
           i2++;
         }
@@ -914,8 +921,8 @@ Eventful$4.prototype = {
         args = arrySlice.call(args, 1, args.length - 1);
       }
       var ctx = args[args.length - 1];
-      var len2 = _h.length;
-      for (var i2 = 0; i2 < len2; ) {
+      var len = _h.length;
+      for (var i2 = 0; i2 < len; ) {
         var hItem = _h[i2];
         if (eventProcessor && eventProcessor.filter && hItem.query != null && !eventProcessor.filter(type2, hItem.query)) {
           i2++;
@@ -937,7 +944,7 @@ Eventful$4.prototype = {
         }
         if (hItem.one) {
           _h.splice(i2, 1);
-          len2--;
+          len--;
         } else {
           i2++;
         }
@@ -987,8 +994,8 @@ function on$1(eventful, event2, query, handler, context, isOnce) {
   lastWrap && lastWrap.callAtLast ? _h[event2].splice(lastIndex, 0, wrap) : _h[event2].push(wrap);
   return eventful;
 }
-var _default$1d = Eventful$4;
-var Eventful_1 = _default$1d;
+var _default$18 = Eventful$4;
+var Eventful_1 = _default$18;
 var event$1 = {};
 var dom = {};
 var fourPointsTransform = {};
@@ -1041,7 +1048,7 @@ function buildTransformer$1(src, dest) {
   };
 }
 fourPointsTransform.buildTransformer = buildTransformer$1;
-var env$9 = env_1;
+var env$8 = env_1;
 var _fourPointsTransform = fourPointsTransform;
 var buildTransformer = _fourPointsTransform.buildTransformer;
 var EVENT_SAVED_PROP = "___zrEVENTSAVED";
@@ -1050,7 +1057,7 @@ function transformLocalCoord(out2, elFrom, elTarget, inX, inY) {
   return transformCoordWithViewport$1(_calcOut$1, elFrom, inX, inY, true) && transformCoordWithViewport$1(out2, elTarget, _calcOut$1[0], _calcOut$1[1]);
 }
 function transformCoordWithViewport$1(out2, el, inX, inY, inverse) {
-  if (el.getBoundingClientRect && env$9.domSupported && !isCanvasEl$1(el)) {
+  if (el.getBoundingClientRect && env$8.domSupported && !isCanvasEl$1(el)) {
     var saved = el[EVENT_SAVED_PROP] || (el[EVENT_SAVED_PROP] = {});
     var markers = prepareCoordMarkers(el, saved);
     var transformer = preparePointerTransformer(markers, saved, inverse);
@@ -1122,7 +1129,7 @@ dom.transformCoordWithViewport = transformCoordWithViewport$1;
 dom.isCanvasEl = isCanvasEl$1;
 var Eventful$3 = Eventful_1;
 event$1.Dispatcher = Eventful$3;
-var env$8 = env_1;
+var env$7 = env_1;
 var _dom = dom;
 var isCanvasEl = _dom.isCanvasEl;
 var transformCoordWithViewport = _dom.transformCoordWithViewport;
@@ -1131,9 +1138,9 @@ var MOUSE_EVENT_REG = /^(?:mouse|pointer|contextmenu|drag|drop)|click/;
 var _calcOut = [];
 function clientToLocal(el, e2, out2, calculate) {
   out2 = out2 || {};
-  if (calculate || !env$8.canvasSupported) {
+  if (calculate || !env$7.canvasSupported) {
     calculateZrXY(el, e2, out2);
-  } else if (env$8.browser.firefox && e2.layerX != null && e2.layerX !== e2.offsetX) {
+  } else if (env$7.browser.firefox && e2.layerX != null && e2.layerX !== e2.offsetX) {
     out2.zrX = e2.layerX;
     out2.zrY = e2.layerY;
   } else if (e2.offsetX != null) {
@@ -1145,7 +1152,7 @@ function clientToLocal(el, e2, out2, calculate) {
   return out2;
 }
 function calculateZrXY(el, e2, out2) {
-  if (env$8.domSupported && el.getBoundingClientRect) {
+  if (env$7.domSupported && el.getBoundingClientRect) {
     var ex = e2.clientX;
     var ey = e2.clientY;
     if (isCanvasEl(el)) {
@@ -1247,7 +1254,7 @@ GestureMgr$1.prototype = {
       target,
       event: event2
     };
-    for (var i2 = 0, len2 = touches.length; i2 < len2; i2++) {
+    for (var i2 = 0, len = touches.length; i2 < len; i2++) {
       var touch = touches[i2];
       var pos = eventUtil.clientToLocal(root, touch, {});
       trackItem.points.push([pos.zrX, pos.zrY]);
@@ -1298,10 +1305,10 @@ var recognizers = {
   }
   // Only pinch currently.
 };
-var _default$1c = GestureMgr$1;
-var GestureMgr_1 = _default$1c;
+var _default$17 = GestureMgr$1;
+var GestureMgr_1 = _default$17;
 var util$7 = util$8;
-var vec2$3 = vector$2;
+var vec2$3 = requireVector();
 var Draggable = Draggable_1;
 var Eventful$2 = Eventful_1;
 var eventTool = event$1;
@@ -1561,121 +1568,128 @@ function isOutsideBoundary(handlerInstance, x, y) {
 }
 util$7.mixin(Handler$1, Eventful$2);
 util$7.mixin(Handler$1, Draggable);
-var _default$1b = Handler$1;
-var Handler_1 = _default$1b;
+var _default$16 = Handler$1;
+var Handler_1 = _default$16;
 var matrix$4 = {};
-var ArrayCtor = typeof Float32Array === "undefined" ? Array : Float32Array;
-function create() {
-  var out2 = new ArrayCtor(6);
-  identity(out2);
-  return out2;
-}
-function identity(out2) {
-  out2[0] = 1;
-  out2[1] = 0;
-  out2[2] = 0;
-  out2[3] = 1;
-  out2[4] = 0;
-  out2[5] = 0;
-  return out2;
-}
-function copy(out2, m2) {
-  out2[0] = m2[0];
-  out2[1] = m2[1];
-  out2[2] = m2[2];
-  out2[3] = m2[3];
-  out2[4] = m2[4];
-  out2[5] = m2[5];
-  return out2;
-}
-function mul(out2, m1, m2) {
-  var out0 = m1[0] * m2[0] + m1[2] * m2[1];
-  var out1 = m1[1] * m2[0] + m1[3] * m2[1];
-  var out22 = m1[0] * m2[2] + m1[2] * m2[3];
-  var out3 = m1[1] * m2[2] + m1[3] * m2[3];
-  var out4 = m1[0] * m2[4] + m1[2] * m2[5] + m1[4];
-  var out5 = m1[1] * m2[4] + m1[3] * m2[5] + m1[5];
-  out2[0] = out0;
-  out2[1] = out1;
-  out2[2] = out22;
-  out2[3] = out3;
-  out2[4] = out4;
-  out2[5] = out5;
-  return out2;
-}
-function translate(out2, a2, v) {
-  out2[0] = a2[0];
-  out2[1] = a2[1];
-  out2[2] = a2[2];
-  out2[3] = a2[3];
-  out2[4] = a2[4] + v[0];
-  out2[5] = a2[5] + v[1];
-  return out2;
-}
-function rotate(out2, a2, rad) {
-  var aa = a2[0];
-  var ac = a2[2];
-  var atx = a2[4];
-  var ab = a2[1];
-  var ad = a2[3];
-  var aty = a2[5];
-  var st = Math.sin(rad);
-  var ct = Math.cos(rad);
-  out2[0] = aa * ct + ab * st;
-  out2[1] = -aa * st + ab * ct;
-  out2[2] = ac * ct + ad * st;
-  out2[3] = -ac * st + ct * ad;
-  out2[4] = ct * atx + st * aty;
-  out2[5] = ct * aty - st * atx;
-  return out2;
-}
-function scale(out2, a2, v) {
-  var vx = v[0];
-  var vy = v[1];
-  out2[0] = a2[0] * vx;
-  out2[1] = a2[1] * vy;
-  out2[2] = a2[2] * vx;
-  out2[3] = a2[3] * vy;
-  out2[4] = a2[4] * vx;
-  out2[5] = a2[5] * vy;
-  return out2;
-}
-function invert(out2, a2) {
-  var aa = a2[0];
-  var ac = a2[2];
-  var atx = a2[4];
-  var ab = a2[1];
-  var ad = a2[3];
-  var aty = a2[5];
-  var det = aa * ad - ab * ac;
-  if (!det) {
-    return null;
+var hasRequiredMatrix;
+function requireMatrix() {
+  if (hasRequiredMatrix)
+    return matrix$4;
+  hasRequiredMatrix = 1;
+  var ArrayCtor = typeof Float32Array === "undefined" ? Array : Float32Array;
+  function create() {
+    var out2 = new ArrayCtor(6);
+    identity(out2);
+    return out2;
   }
-  det = 1 / det;
-  out2[0] = ad * det;
-  out2[1] = -ab * det;
-  out2[2] = -ac * det;
-  out2[3] = aa * det;
-  out2[4] = (ac * aty - ad * atx) * det;
-  out2[5] = (ab * atx - aa * aty) * det;
-  return out2;
-}
-function clone$2(a2) {
-  var b = create();
-  copy(b, a2);
-  return b;
-}
-matrix$4.create = create;
-matrix$4.identity = identity;
-matrix$4.copy = copy;
-matrix$4.mul = mul;
-matrix$4.translate = translate;
-matrix$4.rotate = rotate;
-matrix$4.scale = scale;
-matrix$4.invert = invert;
-matrix$4.clone = clone$2;
-var matrix$3 = matrix$4;
-var vector$1 = vector$2;
+  function identity(out2) {
+    out2[0] = 1;
+    out2[1] = 0;
+    out2[2] = 0;
+    out2[3] = 1;
+    out2[4] = 0;
+    out2[5] = 0;
+    return out2;
+  }
+  function copy(out2, m2) {
+    out2[0] = m2[0];
+    out2[1] = m2[1];
+    out2[2] = m2[2];
+    out2[3] = m2[3];
+    out2[4] = m2[4];
+    out2[5] = m2[5];
+    return out2;
+  }
+  function mul(out2, m1, m2) {
+    var out0 = m1[0] * m2[0] + m1[2] * m2[1];
+    var out1 = m1[1] * m2[0] + m1[3] * m2[1];
+    var out22 = m1[0] * m2[2] + m1[2] * m2[3];
+    var out3 = m1[1] * m2[2] + m1[3] * m2[3];
+    var out4 = m1[0] * m2[4] + m1[2] * m2[5] + m1[4];
+    var out5 = m1[1] * m2[4] + m1[3] * m2[5] + m1[5];
+    out2[0] = out0;
+    out2[1] = out1;
+    out2[2] = out22;
+    out2[3] = out3;
+    out2[4] = out4;
+    out2[5] = out5;
+    return out2;
+  }
+  function translate(out2, a2, v) {
+    out2[0] = a2[0];
+    out2[1] = a2[1];
+    out2[2] = a2[2];
+    out2[3] = a2[3];
+    out2[4] = a2[4] + v[0];
+    out2[5] = a2[5] + v[1];
+    return out2;
+  }
+  function rotate(out2, a2, rad) {
+    var aa = a2[0];
+    var ac = a2[2];
+    var atx = a2[4];
+    var ab = a2[1];
+    var ad = a2[3];
+    var aty = a2[5];
+    var st = Math.sin(rad);
+    var ct = Math.cos(rad);
+    out2[0] = aa * ct + ab * st;
+    out2[1] = -aa * st + ab * ct;
+    out2[2] = ac * ct + ad * st;
+    out2[3] = -ac * st + ct * ad;
+    out2[4] = ct * atx + st * aty;
+    out2[5] = ct * aty - st * atx;
+    return out2;
+  }
+  function scale(out2, a2, v) {
+    var vx = v[0];
+    var vy = v[1];
+    out2[0] = a2[0] * vx;
+    out2[1] = a2[1] * vy;
+    out2[2] = a2[2] * vx;
+    out2[3] = a2[3] * vy;
+    out2[4] = a2[4] * vx;
+    out2[5] = a2[5] * vy;
+    return out2;
+  }
+  function invert(out2, a2) {
+    var aa = a2[0];
+    var ac = a2[2];
+    var atx = a2[4];
+    var ab = a2[1];
+    var ad = a2[3];
+    var aty = a2[5];
+    var det = aa * ad - ab * ac;
+    if (!det) {
+      return null;
+    }
+    det = 1 / det;
+    out2[0] = ad * det;
+    out2[1] = -ab * det;
+    out2[2] = -ac * det;
+    out2[3] = aa * det;
+    out2[4] = (ac * aty - ad * atx) * det;
+    out2[5] = (ab * atx - aa * aty) * det;
+    return out2;
+  }
+  function clone2(a2) {
+    var b = create();
+    copy(b, a2);
+    return b;
+  }
+  matrix$4.create = create;
+  matrix$4.identity = identity;
+  matrix$4.copy = copy;
+  matrix$4.mul = mul;
+  matrix$4.translate = translate;
+  matrix$4.rotate = rotate;
+  matrix$4.scale = scale;
+  matrix$4.invert = invert;
+  matrix$4.clone = clone2;
+  return matrix$4;
+}
+var matrix$3 = requireMatrix();
+var vector$1 = requireVector();
 var mIdentity = matrix$3.identity;
 var EPSILON$2 = 5e-5;
 function isNotAroundZero$1(val) {
@@ -1763,7 +1777,7 @@ transformableProto.setLocalTransform = function(m2) {
   var sx = m2[0] * m2[0] + m2[1] * m2[1];
   var sy = m2[2] * m2[2] + m2[3] * m2[3];
   var position = this.position;
-  var scale2 = this.scale;
+  var scale = this.scale;
   if (isNotAroundZero$1(sx - 1)) {
     sx = Math.sqrt(sx);
   }
@@ -1778,8 +1792,8 @@ transformableProto.setLocalTransform = function(m2) {
   }
   position[0] = m2[4];
   position[1] = m2[5];
-  scale2[0] = sx;
-  scale2[1] = sy;
+  scale[0] = sx;
+  scale[1] = sy;
   this.rotation = Math.atan2(-m2[1] / sy, m2[0] / sx);
 };
 transformableProto.decomposeTransform = function() {
@@ -1841,14 +1855,14 @@ Transformable$2.getLocalTransform = function(target, m2) {
   m2 = m2 || [];
   mIdentity(m2);
   var origin2 = target.origin;
-  var scale2 = target.scale || [1, 1];
+  var scale = target.scale || [1, 1];
   var rotation = target.rotation || 0;
   var position = target.position || [0, 0];
   if (origin2) {
     m2[4] -= origin2[0];
     m2[5] -= origin2[1];
   }
-  matrix$3.scale(m2, m2, scale2);
+  matrix$3.scale(m2, m2, scale);
   if (rotation) {
     matrix$3.rotate(m2, m2, rotation);
   }
@@ -1860,8 +1874,8 @@ Transformable$2.getLocalTransform = function(target, m2) {
   m2[5] += position[1];
   return m2;
 };
-var _default$1a = Transformable$2;
-var Transformable_1 = _default$1a;
+var _default$15 = Transformable$2;
+var Transformable_1 = _default$15;
 var easing = {
   /**
   * @param {number} k
@@ -2179,8 +2193,8 @@ var easing = {
     return easing.bounceOut(k * 2 - 1) * 0.5 + 0.5;
   }
 };
-var _default$19 = easing;
-var easing_1 = _default$19;
+var _default$14 = easing;
+var easing_1 = _default$14;
 var easingFuncs = easing_1;
 function Clip$1(options) {
   this._target = options.target;
@@ -2245,8 +2259,8 @@ Clip$1.prototype = {
     this._paused = false;
   }
 };
-var _default$18 = Clip$1;
-var Clip_1 = _default$18;
+var _default$13 = Clip$1;
+var Clip_1 = _default$13;
 var color$1 = {};
 var LinkedList = function() {
   this.head = null;
@@ -2310,9 +2324,9 @@ LRUProto.put = function(key2, value) {
   var map2 = this._map;
   var removed = null;
   if (map2[key2] == null) {
-    var len2 = list.len();
+    var len = list.len();
     var entry = this._lastRemovedEntry;
-    if (len2 >= this._maxSize && len2 > 0) {
+    if (len >= this._maxSize && len > 0) {
       var leastUsedEntry = list.head;
       list.remove(leastUsedEntry);
       delete map2[leastUsedEntry.key];
@@ -2345,8 +2359,8 @@ LRUProto.clear = function() {
   this._list.clear();
   this._map = {};
 };
-var _default$17 = LRU$2;
-var LRU_1 = _default$17;
+var _default$12 = LRU$2;
+var LRU_1 = _default$12;
 var LRU$1 = LRU_1;
 var kCSSColorTable = {
   "transparent": [0, 0, 0, 0],
@@ -2820,15 +2834,15 @@ function interpolateString(p0, p1, percent) {
   return percent > 0.5 ? p1 : p0;
 }
 function interpolateArray(p0, p1, percent, out2, arrDim) {
-  var len2 = p0.length;
+  var len = p0.length;
   if (arrDim === 1) {
-    for (var i2 = 0; i2 < len2; i2++) {
+    for (var i2 = 0; i2 < len; i2++) {
       out2[i2] = interpolateNumber(p0[i2], p1[i2], percent);
     }
   } else {
-    var len22 = len2 && p0[0].length;
-    for (var i2 = 0; i2 < len2; i2++) {
-      for (var j = 0; j < len22; j++) {
+    var len2 = len && p0[0].length;
+    for (var i2 = 0; i2 < len; i2++) {
+      for (var j = 0; j < len2; j++) {
         out2[i2][j] = interpolateNumber(p0[i2][j], p1[i2][j], percent);
       }
     }
@@ -2866,20 +2880,20 @@ function isArraySame(arr0, arr1, arrDim) {
   if (arr0 === arr1) {
     return true;
   }
-  var len2 = arr0.length;
-  if (len2 !== arr1.length) {
+  var len = arr0.length;
+  if (len !== arr1.length) {
     return false;
   }
   if (arrDim === 1) {
-    for (var i2 = 0; i2 < len2; i2++) {
+    for (var i2 = 0; i2 < len; i2++) {
       if (arr0[i2] !== arr1[i2]) {
         return false;
       }
     }
   } else {
-    var len22 = arr0[0].length;
-    for (var i2 = 0; i2 < len2; i2++) {
-      for (var j = 0; j < len22; j++) {
+    var len2 = arr0[0].length;
+    for (var i2 = 0; i2 < len; i2++) {
+      for (var j = 0; j < len2; j++) {
         if (arr0[i2][j] !== arr1[i2][j]) {
           return false;
         }
@@ -2889,15 +2903,15 @@ function isArraySame(arr0, arr1, arrDim) {
   return true;
 }
 function catmullRomInterpolateArray(p0, p1, p2, p3, t2, t22, t3, out2, arrDim) {
-  var len2 = p0.length;
+  var len = p0.length;
   if (arrDim === 1) {
-    for (var i2 = 0; i2 < len2; i2++) {
+    for (var i2 = 0; i2 < len; i2++) {
       out2[i2] = catmullRomInterpolate(p0[i2], p1[i2], p2[i2], p3[i2], t2, t22, t3);
     }
   } else {
-    var len22 = p0[0].length;
-    for (var i2 = 0; i2 < len2; i2++) {
-      for (var j = 0; j < len22; j++) {
+    var len2 = p0[0].length;
+    for (var i2 = 0; i2 < len; i2++) {
+      for (var j = 0; j < len2; j++) {
         out2[i2][j] = catmullRomInterpolate(p0[i2][j], p1[i2][j], p2[i2][j], p3[i2][j], t2, t22, t3);
       }
     }
@@ -2910,10 +2924,10 @@ function catmullRomInterpolate(p0, p1, p2, p3, t2, t22, t3) {
 }
 function cloneValue(value) {
   if (isArrayLike$1(value)) {
-    var len2 = value.length;
+    var len = value.length;
     if (isArrayLike$1(value[0])) {
       var ret = [];
-      for (var i2 = 0; i2 < len2; i2++) {
+      for (var i2 = 0; i2 < len; i2++) {
         ret.push(arraySlice.call(value[i2]));
       }
       return ret;
@@ -3147,8 +3161,8 @@ Animator$2.prototype = {
     this._tracks = {};
     this._clipList.length = 0;
     var doneList = this._doneList;
-    var len2 = doneList.length;
-    for (var i2 = 0; i2 < len2; i2++) {
+    var len = doneList.length;
+    for (var i2 = 0; i2 < len; i2++) {
       doneList[i2].call(this);
     }
   },
@@ -3240,8 +3254,8 @@ Animator$2.prototype = {
     return this._clipList;
   }
 };
-var _default$16 = Animator$2;
-var Animator_1 = _default$16;
+var _default$11 = Animator$2;
+var Animator_1 = _default$11;
 var config = {};
 var dpr$1 = 1;
 if (typeof window !== "undefined") {
@@ -3258,8 +3272,8 @@ var logError$2 = function() {
 if (debugMode === 1) {
   logError$2 = console.error;
 }
-var _default$15 = logError$2;
-var log$2 = _default$15;
+var _default$10 = logError$2;
+var log$2 = _default$10;
 var Animator$1 = Animator_1;
 var logError$1 = log$2;
 var _util$f = util$8;
@@ -3329,8 +3343,8 @@ Animatable$1.prototype = {
    */
   stopAnimation: function(forwardToLast) {
     var animators = this.animators;
-    var len2 = animators.length;
-    for (var i2 = 0; i2 < len2; i2++) {
+    var len = animators.length;
+    for (var i2 = 0; i2 < len; i2++) {
       animators[i2].stop(forwardToLast);
     }
     animators.length = 0;
@@ -3449,13 +3463,13 @@ function setAttrByPath(el, path2, name2, value) {
     el.attr(props2);
   }
 }
-var _default$14 = Animatable$1;
-var Animatable_1 = _default$14;
+var _default$$ = Animatable$1;
+var Animatable_1 = _default$$;
 var guid$2 = guid$3;
 var Eventful$1 = Eventful_1;
 var Transformable$1 = Transformable_1;
 var Animatable = Animatable_1;
-var zrUtil$p = util$8;
+var zrUtil$m = util$8;
 var Element$2 = function(opts) {
   Transformable$1.call(this, opts);
   Eventful$1.call(this, opts);
@@ -3586,7 +3600,7 @@ Element$2.prototype = {
   attr: function(key2, value) {
     if (typeof key2 === "string") {
       this.attrKV(key2, value);
-    } else if (zrUtil$p.isObject(key2)) {
+    } else if (zrUtil$m.isObject(key2)) {
       for (var name2 in key2) {
         if (key2.hasOwnProperty(name2)) {
           this.attrKV(name2, key2[name2]);
@@ -3661,17 +3675,17 @@ Element$2.prototype = {
     }
   }
 };
-zrUtil$p.mixin(Element$2, Animatable);
-zrUtil$p.mixin(Element$2, Transformable$1);
-zrUtil$p.mixin(Element$2, Eventful$1);
-var _default$13 = Element$2;
-var Element_1 = _default$13;
-var vec2$2 = vector$2;
-var matrix$2 = matrix$4;
+zrUtil$m.mixin(Element$2, Animatable);
+zrUtil$m.mixin(Element$2, Transformable$1);
+zrUtil$m.mixin(Element$2, Eventful$1);
+var _default$_ = Element$2;
+var Element_1 = _default$_;
+var vec2$2 = requireVector();
+var matrix$2 = requireMatrix();
 var v2ApplyTransform$1 = vec2$2.applyTransform;
 var mathMin$2 = Math.min;
 var mathMax$2 = Math.max;
-function BoundingRect$8(x, y, width, height) {
+function BoundingRect$9(x, y, width, height) {
   if (width < 0) {
     x = x + width;
     width = -width;
@@ -3685,8 +3699,8 @@ function BoundingRect$8(x, y, width, height) {
   this.width = width;
   this.height = height;
 }
-BoundingRect$8.prototype = {
-  constructor: BoundingRect$8,
+BoundingRect$9.prototype = {
+  constructor: BoundingRect$9,
   /**
    * @param {module:echarts/core/BoundingRect} other
    */
@@ -3750,8 +3764,8 @@ BoundingRect$8.prototype = {
     if (!b) {
       return false;
     }
-    if (!(b instanceof BoundingRect$8)) {
-      b = BoundingRect$8.create(b);
+    if (!(b instanceof BoundingRect$9)) {
+      b = BoundingRect$9.create(b);
     }
     var a2 = this;
     var ax0 = a2.x;
@@ -3772,7 +3786,7 @@ BoundingRect$8.prototype = {
    * @return {module:echarts/core/BoundingRect}
    */
   clone: function() {
-    return new BoundingRect$8(this.x, this.y, this.width, this.height);
+    return new BoundingRect$9(this.x, this.y, this.width, this.height);
   },
   /**
    * Copy from another rect
@@ -3792,14 +3806,14 @@ BoundingRect$8.prototype = {
     };
   }
 };
-BoundingRect$8.create = function(rect) {
-  return new BoundingRect$8(rect.x, rect.y, rect.width, rect.height);
+BoundingRect$9.create = function(rect) {
+  return new BoundingRect$9(rect.x, rect.y, rect.width, rect.height);
 };
-var _default$12 = BoundingRect$8;
-var BoundingRect_1 = _default$12;
-var zrUtil$o = util$8;
+var _default$Z = BoundingRect$9;
+var BoundingRect_1 = _default$Z;
+var zrUtil$l = util$8;
 var Element$1 = Element_1;
-var BoundingRect$7 = BoundingRect_1;
+var BoundingRect$8 = BoundingRect_1;
 var Group$5 = function(opts) {
   opts = opts || {};
   Element$1.call(this, opts);
@@ -3909,7 +3923,7 @@ Group$5.prototype = {
     var zr = this.__zr;
     var storage2 = this.__storage;
     var children3 = this._children;
-    var idx = zrUtil$o.indexOf(children3, child);
+    var idx = zrUtil$l.indexOf(children3, child);
     if (idx < 0) {
       return this;
     }
@@ -4001,7 +4015,7 @@ Group$5.prototype = {
    */
   getBoundingRect: function(includeChildren) {
     var rect = null;
-    var tmpRect2 = new BoundingRect$7(0, 0, 0, 0);
+    var tmpRect2 = new BoundingRect$8(0, 0, 0, 0);
     var children3 = includeChildren || this._children;
     var tmpMat = [];
     for (var i2 = 0; i2 < children3.length; i2++) {
@@ -4024,9 +4038,9 @@ Group$5.prototype = {
     return rect || tmpRect2;
   }
 };
-zrUtil$o.inherits(Group$5, Element$1);
-var _default$11 = Group$5;
-var Group_1 = _default$11;
+zrUtil$l.inherits(Group$5, Element$1);
+var _default$Y = Group$5;
+var Group_1 = _default$Y;
 var DEFAULT_MIN_MERGE = 32;
 var DEFAULT_MIN_GALLOPING = 7;
 function minRunLength(n2) {
@@ -4097,12 +4111,12 @@ function binaryInsertionSort(array, lo, hi, start, compare2) {
     array[left] = pivot;
   }
 }
-function gallopLeft(value, array, start, length2, hint, compare2) {
+function gallopLeft(value, array, start, length, hint, compare2) {
   var lastOffset = 0;
   var maxOffset = 0;
   var offset2 = 1;
   if (compare2(value, array[start + hint]) > 0) {
-    maxOffset = length2 - hint;
+    maxOffset = length - hint;
     while (offset2 < maxOffset && compare2(value, array[start + hint + offset2]) > 0) {
       lastOffset = offset2;
       offset2 = (offset2 << 1) + 1;
@@ -4142,7 +4156,7 @@ function gallopLeft(value, array, start, length2, hint, compare2) {
   }
   return offset2;
 }
-function gallopRight(value, array, start, length2, hint, compare2) {
+function gallopRight(value, array, start, length, hint, compare2) {
   var lastOffset = 0;
   var maxOffset = 0;
   var offset2 = 1;
@@ -4162,7 +4176,7 @@ function gallopRight(value, array, start, length2, hint, compare2) {
     lastOffset = hint - offset2;
     offset2 = hint - tmp;
   } else {
-    maxOffset = length2 - hint;
+    maxOffset = length - hint;
     while (offset2 < maxOffset && compare2(value, array[start + hint + offset2]) >= 0) {
       lastOffset = offset2;
       offset2 = (offset2 << 1) + 1;
@@ -4535,7 +4549,7 @@ function sort(array, compare2, lo, hi) {
 }
 var timsort$2 = sort;
 var util$6 = util$8;
-var env$7 = env_1;
+var env$6 = env_1;
 var Group$4 = Group_1;
 var timsort$1 = timsort$2;
 function shapeCompareFunc(a2, b) {
@@ -4588,11 +4602,11 @@ Storage$1.prototype = {
     this._displayListLen = 0;
     var roots2 = this._roots;
     var displayList = this._displayList;
-    for (var i2 = 0, len2 = roots2.length; i2 < len2; i2++) {
+    for (var i2 = 0, len = roots2.length; i2 < len; i2++) {
       this._updateAndAddDisplayable(roots2[i2], null, includeIgnore);
     }
     displayList.length = this._displayListLen;
-    env$7.canvasSupported && timsort$1(displayList, shapeCompareFunc);
+    env$6.canvasSupported && timsort$1(displayList, shapeCompareFunc);
   },
   _updateAndAddDisplayable: function(el, clipPaths, includeIgnore) {
     if (el.ignore && !includeIgnore) {
@@ -4702,8 +4716,8 @@ Storage$1.prototype = {
   },
   displayableSortFunc: shapeCompareFunc
 };
-var _default$10 = Storage$1;
-var Storage_1 = _default$10;
+var _default$X = Storage$1;
+var Storage_1 = _default$X;
 var SHADOW_PROPS = {
   "shadowBlur": 1,
   "shadowOffsetX": 1,
@@ -4715,25 +4729,25 @@ var SHADOW_PROPS = {
   "textBoxShadowOffsetX": 1,
   "textBoxShadowOffsetY": 1
 };
-function _default$$(ctx, propName, value) {
+function _default$W(ctx, propName, value) {
   if (SHADOW_PROPS.hasOwnProperty(propName)) {
     return value *= ctx.dpr;
   }
   return value;
 }
-var fixShadow$2 = _default$$;
+var fixShadow$2 = _default$W;
 var constant = {};
 var ContextCachedBy$3 = {
   NONE: 0,
   STYLE_BIND: 1,
   PLAIN_TEXT: 2
 };
-var WILL_BE_RESTORED$1 = 9;
+var WILL_BE_RESTORED$2 = 9;
 constant.ContextCachedBy = ContextCachedBy$3;
-constant.WILL_BE_RESTORED = WILL_BE_RESTORED$1;
+constant.WILL_BE_RESTORED = WILL_BE_RESTORED$2;
 var fixShadow$1 = fixShadow$2;
-var _constant$2 = constant;
-var ContextCachedBy$2 = _constant$2.ContextCachedBy;
+var _constant$3 = constant;
+var ContextCachedBy$2 = _constant$3.ContextCachedBy;
 var STYLE_COMMON_PROPS = [["shadowBlur", 0], ["shadowOffsetX", 0], ["shadowOffsetY", 0], ["shadowColor", "#000"], ["lineCap", "butt"], ["lineJoin", "miter"], ["miterLimit", 10]];
 var Style$3 = function(opts) {
   this.extendFrom(opts, false);
@@ -5123,8 +5137,8 @@ for (var i$1 = 0; i$1 < STYLE_COMMON_PROPS.length; i$1++) {
   }
 }
 Style$3.getGradient = styleProto.getGradient;
-var _default$_ = Style$3;
-var Style_1 = _default$_;
+var _default$V = Style$3;
+var Style_1 = _default$V;
 var Pattern$2 = function(image2, repeat) {
   this.image = image2;
   this.repeat = repeat;
@@ -5133,8 +5147,8 @@ var Pattern$2 = function(image2, repeat) {
 Pattern$2.prototype.getCanvasPattern = function(ctx) {
   return ctx.createPattern(this.image, this.repeat || "repeat");
 };
-var _default$Z = Pattern$2;
-var Pattern_1 = _default$Z;
+var _default$U = Pattern$2;
+var Pattern_1 = _default$U;
 var util$5 = util$8;
 var _config$2 = config;
 var devicePixelRatio$1 = _config$2.devicePixelRatio;
@@ -5286,13 +5300,13 @@ Layer$1.prototype = {
     }
   }
 };
-var _default$Y = Layer$1;
-var Layer_1 = _default$Y;
-var _default$X = typeof window !== "undefined" && (window.requestAnimationFrame && window.requestAnimationFrame.bind(window) || // https://github.com/ecomfe/zrender/issues/189#issuecomment-224919809
+var _default$T = Layer$1;
+var Layer_1 = _default$T;
+var _default$S = typeof window !== "undefined" && (window.requestAnimationFrame && window.requestAnimationFrame.bind(window) || // https://github.com/ecomfe/zrender/issues/189#issuecomment-224919809
 window.msRequestAnimationFrame && window.msRequestAnimationFrame.bind(window) || window.mozRequestAnimationFrame || window.webkitRequestAnimationFrame) || function(func) {
   setTimeout(func, 16);
 };
-var requestAnimationFrame$4 = _default$X;
+var requestAnimationFrame$4 = _default$S;
 var text$1 = {};
 var text = {};
 var image = {};
@@ -5353,7 +5367,7 @@ function isImageReady(image2) {
 image.findExistImage = findExistImage;
 image.createOrUpdateImage = createOrUpdateImage;
 image.isImageReady = isImageReady;
-var BoundingRect$6 = BoundingRect_1;
+var BoundingRect$7 = BoundingRect_1;
 var imageHelper$2 = image;
 var _util$e = util$8;
 var getContext = _util$e.getContext;
@@ -5401,7 +5415,7 @@ function getPlainTextRect(text2, font, textAlign, textVerticalAlign, textPadding
   var outerHeight = contentBlock.outerHeight;
   var x = adjustTextX(0, outerWidth, textAlign);
   var y = adjustTextY(0, outerHeight, textVerticalAlign);
-  var rect = new BoundingRect$6(x, y, outerWidth, outerHeight);
+  var rect = new BoundingRect$7(x, y, outerWidth, outerHeight);
   rect.lineHeight = contentBlock.lineHeight;
   return rect;
 }
@@ -5418,7 +5432,7 @@ function getRichTextRect(text2, font, textAlign, textVerticalAlign, textPadding,
   var outerHeight = contentBlock.outerHeight;
   var x = adjustTextX(0, outerWidth, textAlign);
   var y = adjustTextY(0, outerHeight, textVerticalAlign);
-  return new BoundingRect$6(x, y, outerWidth, outerHeight);
+  return new BoundingRect$7(x, y, outerWidth, outerHeight);
 }
 function adjustTextX(x, width, textAlign) {
   if (textAlign === "right") {
@@ -5438,10 +5452,10 @@ function adjustTextY(y, height, textVerticalAlign) {
 }
 function calculateTextPosition(out2, style2, rect) {
   var textPosition = style2.textPosition;
-  var distance2 = style2.textDistance;
+  var distance = style2.textDistance;
   var x = rect.x;
   var y = rect.y;
-  distance2 = distance2 || 0;
+  distance = distance || 0;
   var height = rect.height;
   var width = rect.width;
   var halfHeight = height / 2;
@@ -5449,25 +5463,25 @@ function calculateTextPosition(out2, style2, rect) {
   var textVerticalAlign = "top";
   switch (textPosition) {
     case "left":
-      x -= distance2;
+      x -= distance;
       y += halfHeight;
       textAlign = "right";
       textVerticalAlign = "middle";
       break;
     case "right":
-      x += distance2 + width;
+      x += distance + width;
       y += halfHeight;
       textVerticalAlign = "middle";
       break;
     case "top":
       x += width / 2;
-      y -= distance2;
+      y -= distance;
       textAlign = "center";
       textVerticalAlign = "bottom";
       break;
     case "bottom":
       x += width / 2;
-      y += height + distance2;
+      y += height + distance;
       textAlign = "center";
       break;
     case "inside":
@@ -5477,44 +5491,44 @@ function calculateTextPosition(out2, style2, rect) {
       textVerticalAlign = "middle";
       break;
     case "insideLeft":
-      x += distance2;
+      x += distance;
       y += halfHeight;
       textVerticalAlign = "middle";
       break;
     case "insideRight":
-      x += width - distance2;
+      x += width - distance;
       y += halfHeight;
       textAlign = "right";
       textVerticalAlign = "middle";
       break;
     case "insideTop":
       x += width / 2;
-      y += distance2;
+      y += distance;
       textAlign = "center";
       break;
     case "insideBottom":
       x += width / 2;
-      y += height - distance2;
+      y += height - distance;
       textAlign = "center";
       textVerticalAlign = "bottom";
       break;
     case "insideTopLeft":
-      x += distance2;
-      y += distance2;
+      x += distance;
+      y += distance;
       break;
     case "insideTopRight":
-      x += width - distance2;
-      y += distance2;
+      x += width - distance;
+      y += distance;
       textAlign = "right";
       break;
     case "insideBottomLeft":
-      x += distance2;
-      y += height - distance2;
+      x += distance;
+      y += height - distance;
       textVerticalAlign = "bottom";
       break;
     case "insideBottomRight":
-      x += width - distance2;
-      y += height - distance2;
+      x += width - distance;
+      y += height - distance;
       textAlign = "right";
       textVerticalAlign = "bottom";
       break;
@@ -5526,20 +5540,20 @@ function calculateTextPosition(out2, style2, rect) {
   out2.textVerticalAlign = textVerticalAlign;
   return out2;
 }
-function adjustTextPositionOnRect(textPosition, rect, distance2) {
+function adjustTextPositionOnRect(textPosition, rect, distance) {
   var dummyStyle = {
     textPosition,
-    textDistance: distance2
+    textDistance: distance
   };
   return calculateTextPosition({}, dummyStyle, rect);
 }
-function truncateText$1(text2, containerWidth, font, ellipsis, options) {
+function truncateText(text2, containerWidth, font, ellipsis, options) {
   if (!containerWidth) {
     return "";
   }
   var textLines = (text2 + "").split("\n");
   options = prepareTruncateOptions(containerWidth, font, ellipsis, options);
-  for (var i2 = 0, len2 = textLines.length; i2 < len2; i2++) {
+  for (var i2 = 0, len = textLines.length; i2 < len; i2++) {
     textLines[i2] = truncateSingleLine(textLines[i2], options);
   }
   return textLines.join("\n");
@@ -5597,7 +5611,7 @@ function truncateSingleLine(textLine, options) {
 function estimateLength(text2, contentWidth, ascCharWidth, cnCharWidth) {
   var width = 0;
   var i2 = 0;
-  for (var len2 = text2.length; i2 < len2 && width < contentWidth; i2++) {
+  for (var len = text2.length; i2 < len && width < contentWidth; i2++) {
     var charCode = text2.charCodeAt(i2);
     width += 0 <= charCode && charCode <= 127 ? ascCharWidth : cnCharWidth;
   }
@@ -5636,7 +5650,7 @@ function parsePlainText(text2, font, padding, textLineHeight, truncate2) {
         minChar: truncate2.minChar,
         placeholder: truncate2.placeholder
       });
-      for (var i2 = 0, len2 = lines2.length; i2 < len2; i2++) {
+      for (var i2 = 0, len = lines2.length; i2 < len; i2++) {
         lines2[i2] = truncateSingleLine(lines2[i2], options);
       }
     }
@@ -5738,7 +5752,7 @@ function parseRichText(text2, style2) {
             token.text = "";
             token.textWidth = tokenWidth = 0;
           } else {
-            token.text = truncateText$1(token.text, remianTruncWidth - paddingW, font, truncate2.ellipsis, {
+            token.text = truncateText(token.text, remianTruncWidth - paddingW, font, truncate2.ellipsis, {
               minChar: truncate2.minChar
             });
             token.textWidth = getWidth(token.text, font);
@@ -5813,7 +5827,7 @@ text.adjustTextX = adjustTextX;
 text.adjustTextY = adjustTextY;
 text.calculateTextPosition = calculateTextPosition;
 text.adjustTextPositionOnRect = adjustTextPositionOnRect;
-text.truncateText = truncateText$1;
+text.truncateText = truncateText;
 text.getLineHeight = getLineHeight;
 text.measureText = measureText;
 text.parsePlainText = parsePlainText;
@@ -5895,17 +5909,17 @@ var _util$d = util$8;
 var retrieve2 = _util$d.retrieve2;
 var retrieve3 = _util$d.retrieve3;
 var each$d = _util$d.each;
-var normalizeCssArray$1 = _util$d.normalizeCssArray;
+var normalizeCssArray = _util$d.normalizeCssArray;
 var isString$4 = _util$d.isString;
 var isObject$7 = _util$d.isObject;
-var textContain$4 = text;
+var textContain$2 = text;
 var roundRectHelper$1 = roundRect;
 var imageHelper$1 = image;
 var fixShadow = fixShadow$2;
-var _constant$1 = constant;
-var ContextCachedBy$1 = _constant$1.ContextCachedBy;
-var WILL_BE_RESTORED = _constant$1.WILL_BE_RESTORED;
-var DEFAULT_FONT = textContain$4.DEFAULT_FONT;
+var _constant$2 = constant;
+var ContextCachedBy$1 = _constant$2.ContextCachedBy;
+var WILL_BE_RESTORED$1 = _constant$2.WILL_BE_RESTORED;
+var DEFAULT_FONT = textContain$2.DEFAULT_FONT;
 var VALID_TEXT_ALIGN = {
   left: 1,
   right: 1,
@@ -5926,7 +5940,7 @@ function normalizeTextStyle(style2) {
 }
 function normalizeStyle(style2) {
   if (style2) {
-    style2.font = textContain$4.makeFont(style2);
+    style2.font = textContain$2.makeFont(style2);
     var textAlign = style2.textAlign;
     textAlign === "middle" && (textAlign = "center");
     style2.textAlign = textAlign == null || VALID_TEXT_ALIGN[textAlign] ? textAlign : "left";
@@ -5935,7 +5949,7 @@ function normalizeStyle(style2) {
     style2.textVerticalAlign = textVerticalAlign == null || VALID_TEXT_VERTICAL_ALIGN[textVerticalAlign] ? textVerticalAlign : "top";
     var textPadding = style2.textPadding;
     if (textPadding) {
-      style2.textPadding = normalizeCssArray$1(style2.textPadding);
+      style2.textPadding = normalizeCssArray(style2.textPadding);
     }
   }
 }
@@ -5947,7 +5961,7 @@ function renderPlainText(hostEl, ctx, text2, style2, rect, prevEl) {
   var prevStyle;
   var checkCache = false;
   var cachedByMe = ctx.__attrCachedBy === ContextCachedBy$1.PLAIN_TEXT;
-  if (prevEl !== WILL_BE_RESTORED) {
+  if (prevEl !== WILL_BE_RESTORED$1) {
     if (prevEl) {
       prevStyle = prevEl.style;
       checkCache = !needDrawBg && cachedByMe && prevStyle;
@@ -5969,7 +5983,7 @@ function renderPlainText(hostEl, ctx, text2, style2, rect, prevEl) {
   var textLineHeight = style2.textLineHeight;
   var contentBlock = hostEl.__textCotentBlock;
   if (!contentBlock || hostEl.__dirtyText) {
-    contentBlock = hostEl.__textCotentBlock = textContain$4.parsePlainText(text2, computedFont, textPadding, textLineHeight, style2.truncate);
+    contentBlock = hostEl.__textCotentBlock = textContain$2.parsePlainText(text2, computedFont, textPadding, textLineHeight, style2.truncate);
   }
   var outerHeight = contentBlock.outerHeight;
   var textLines = contentBlock.lines;
@@ -5980,14 +5994,14 @@ function renderPlainText(hostEl, ctx, text2, style2, rect, prevEl) {
   var textAlign = boxPos.textAlign || "left";
   var textVerticalAlign = boxPos.textVerticalAlign;
   applyTextRotation(ctx, style2, rect, baseX, baseY);
-  var boxY = textContain$4.adjustTextY(baseY, outerHeight, textVerticalAlign);
+  var boxY = textContain$2.adjustTextY(baseY, outerHeight, textVerticalAlign);
   var textX = baseX;
   var textY = boxY;
   if (needDrawBg || textPadding) {
-    var textWidth = textContain$4.getWidth(text2, computedFont);
+    var textWidth = textContain$2.getWidth(text2, computedFont);
     var outerWidth = textWidth;
     textPadding && (outerWidth += textPadding[1] + textPadding[3]);
-    var boxX = textContain$4.adjustTextX(baseX, outerWidth, textAlign);
+    var boxX = textContain$2.adjustTextX(baseX, outerWidth, textAlign);
     needDrawBg && drawBackground(hostEl, ctx, style2, boxX, boxY, outerWidth, outerHeight);
     if (textPadding) {
       textX = getTextXForPadding(baseX, textAlign, textPadding);
@@ -6038,12 +6052,12 @@ function renderPlainText(hostEl, ctx, text2, style2, rect, prevEl) {
   }
 }
 function renderRichText(hostEl, ctx, text2, style2, rect, prevEl) {
-  if (prevEl !== WILL_BE_RESTORED) {
+  if (prevEl !== WILL_BE_RESTORED$1) {
     ctx.__attrCachedBy = ContextCachedBy$1.NONE;
   }
   var contentBlock = hostEl.__textCotentBlock;
   if (!contentBlock || hostEl.__dirtyText) {
-    contentBlock = hostEl.__textCotentBlock = textContain$4.parseRichText(text2, style2);
+    contentBlock = hostEl.__textCotentBlock = textContain$2.parseRichText(text2, style2);
   }
   drawRichText(hostEl, ctx, contentBlock, style2, rect);
 }
@@ -6058,8 +6072,8 @@ function drawRichText(hostEl, ctx, contentBlock, style2, rect) {
   var textAlign = boxPos.textAlign;
   var textVerticalAlign = boxPos.textVerticalAlign;
   applyTextRotation(ctx, style2, rect, baseX, baseY);
-  var boxX = textContain$4.adjustTextX(baseX, outerWidth, textAlign);
-  var boxY = textContain$4.adjustTextY(baseY, outerHeight, textVerticalAlign);
+  var boxX = textContain$2.adjustTextX(baseX, outerWidth, textAlign);
+  var boxY = textContain$2.adjustTextY(baseY, outerHeight, textVerticalAlign);
   var xLeft = boxX;
   var lineTop = boxY;
   if (textPadding) {
@@ -6224,7 +6238,7 @@ function getBoxPosition(out2, hostEl, style2, rect) {
       baseX = rect.x + parsePercent$1(textPosition[0], rect.width);
       baseY = rect.y + parsePercent$1(textPosition[1], rect.height);
     } else {
-      var res = hostEl && hostEl.calculateTextPosition ? hostEl.calculateTextPosition(_tmpTextPositionResult, style2, rect) : textContain$4.calculateTextPosition(_tmpTextPositionResult, style2, rect);
+      var res = hostEl && hostEl.calculateTextPosition ? hostEl.calculateTextPosition(_tmpTextPositionResult, style2, rect) : textContain$2.calculateTextPosition(_tmpTextPositionResult, style2, rect);
       baseX = res.x;
       baseY = res.y;
       textAlign = textAlign || res.textAlign;
@@ -6275,58 +6289,50 @@ text$1.getStroke = getStroke;
 text$1.getFill = getFill;
 text$1.parsePercent = parsePercent$1;
 text$1.needDrawText = needDrawText;
-var RectText_1;
-var hasRequiredRectText;
-function requireRectText() {
-  if (hasRequiredRectText)
-    return RectText_1;
-  hasRequiredRectText = 1;
-  var textHelper2 = text$1;
-  var BoundingRect2 = BoundingRect_1;
-  var _constant2 = constant;
-  var WILL_BE_RESTORED2 = _constant2.WILL_BE_RESTORED;
-  var tmpRect2 = new BoundingRect2();
-  var RectText2 = function() {
-  };
-  RectText2.prototype = {
-    constructor: RectText2,
-    /**
-     * Draw text in a rect with specified position.
-     * @param  {CanvasRenderingContext2D} ctx
-     * @param  {Object} rect Displayable rect
-     */
-    drawRectText: function(ctx, rect) {
-      var style2 = this.style;
-      rect = style2.textRect || rect;
-      this.__dirty && textHelper2.normalizeTextStyle(style2, true);
-      var text2 = style2.text;
-      text2 != null && (text2 += "");
-      if (!textHelper2.needDrawText(text2, style2)) {
-        return;
-      }
-      ctx.save();
-      var transform2 = this.transform;
-      if (!style2.transformText) {
-        if (transform2) {
-          tmpRect2.copy(rect);
-          tmpRect2.applyTransform(transform2);
-          rect = tmpRect2;
-        }
-      } else {
-        this.setTransform(ctx);
+var textHelper$1 = text$1;
+var BoundingRect$6 = BoundingRect_1;
+var _constant$1 = constant;
+var WILL_BE_RESTORED = _constant$1.WILL_BE_RESTORED;
+var tmpRect$1 = new BoundingRect$6();
+var RectText$1 = function() {
+};
+RectText$1.prototype = {
+  constructor: RectText$1,
+  /**
+   * Draw text in a rect with specified position.
+   * @param  {CanvasRenderingContext2D} ctx
+   * @param  {Object} rect Displayable rect
+   */
+  drawRectText: function(ctx, rect) {
+    var style2 = this.style;
+    rect = style2.textRect || rect;
+    this.__dirty && textHelper$1.normalizeTextStyle(style2, true);
+    var text2 = style2.text;
+    text2 != null && (text2 += "");
+    if (!textHelper$1.needDrawText(text2, style2)) {
+      return;
+    }
+    ctx.save();
+    var transform2 = this.transform;
+    if (!style2.transformText) {
+      if (transform2) {
+        tmpRect$1.copy(rect);
+        tmpRect$1.applyTransform(transform2);
+        rect = tmpRect$1;
       }
-      textHelper2.renderText(this, ctx, text2, style2, rect, WILL_BE_RESTORED2);
-      ctx.restore();
+    } else {
+      this.setTransform(ctx);
     }
-  };
-  var _default68 = RectText2;
-  RectText_1 = _default68;
-  return RectText_1;
-}
-var zrUtil$n = util$8;
+    textHelper$1.renderText(this, ctx, text2, style2, rect, WILL_BE_RESTORED);
+    ctx.restore();
+  }
+};
+var _default$R = RectText$1;
+var RectText_1 = _default$R;
+var zrUtil$k = util$8;
 var Style$1 = Style_1;
 var Element = Element_1;
-var RectText = requireRectText();
+var RectText = RectText_1;
 function Displayable$3(opts) {
   opts = opts || {};
   Element.call(this, opts);
@@ -6549,13 +6555,13 @@ Displayable$3.prototype = {
    */
   calculateTextPosition: null
 };
-zrUtil$n.inherits(Displayable$3, Element);
-zrUtil$n.mixin(Displayable$3, RectText);
-var _default$W = Displayable$3;
-var Displayable_1 = _default$W;
+zrUtil$k.inherits(Displayable$3, Element);
+zrUtil$k.mixin(Displayable$3, RectText);
+var _default$Q = Displayable$3;
+var Displayable_1 = _default$Q;
 var Displayable$2 = Displayable_1;
 var BoundingRect$5 = BoundingRect_1;
-var zrUtil$m = util$8;
+var zrUtil$j = util$8;
 var imageHelper = image;
 function ZImage$2(opts) {
   Displayable$2.call(this, opts);
@@ -6611,9 +6617,9 @@ ZImage$2.prototype = {
     return this._rect;
   }
 };
-zrUtil$m.inherits(ZImage$2, Displayable$2);
-var _default$V = ZImage$2;
-var Image$2 = _default$V;
+zrUtil$j.inherits(ZImage$2, Displayable$2);
+var _default$P = ZImage$2;
+var Image$2 = _default$P;
 var _config$1 = config;
 var devicePixelRatio = _config$1.devicePixelRatio;
 var util$4 = util$8;
@@ -6623,7 +6629,7 @@ var timsort = timsort$2;
 var Layer = Layer_1;
 var requestAnimationFrame$3 = requestAnimationFrame$4;
 var Image$1 = Image$2;
-var env$6 = env_1;
+var env$5 = env_1;
 var HOVER_LAYER_ZLEVEL = 1e5;
 var CANVAS_ZLEVEL = 314159;
 var EL_AFTER_INCREMENTAL_INC = 0.01;
@@ -6830,10 +6836,10 @@ Painter$3.prototype = {
   },
   refreshHover: function() {
     var hoverElements = this._hoverElements;
-    var len2 = hoverElements.length;
+    var len = hoverElements.length;
     var hoverLayer = this._hoverlayer;
     hoverLayer && hoverLayer.clear();
-    if (!len2) {
+    if (!len) {
       return;
     }
     timsort(hoverElements, this.storage.displayableSortFunc);
@@ -6842,13 +6848,13 @@ Painter$3.prototype = {
     }
     var scope = {};
     hoverLayer.ctx.save();
-    for (var i2 = 0; i2 < len2; ) {
+    for (var i2 = 0; i2 < len; ) {
       var el = hoverElements[i2];
       var originalEl = el.__from;
       if (!(originalEl && originalEl.__zr)) {
         hoverElements.splice(i2, 1);
         originalEl.__hoverMir = null;
-        len2--;
+        len--;
         continue;
       }
       i2++;
@@ -6943,7 +6949,7 @@ Painter$3.prototype = {
       }
       ctx.restore();
     }
-    if (env$6.wxa) {
+    if (env$5.wxa) {
       util$4.each(this._layers, function(layer2) {
         if (layer2 && layer2.ctx && layer2.ctx.draw) {
           layer2.ctx.draw();
@@ -7008,7 +7014,7 @@ Painter$3.prototype = {
   insertLayer: function(zlevel, layer) {
     var layersMap = this._layers;
     var zlevelList = this._zlevelList;
-    var len2 = zlevelList.length;
+    var len = zlevelList.length;
     var prevLayer = null;
     var i2 = -1;
     var domRoot = this._domRoot;
@@ -7020,8 +7026,8 @@ Painter$3.prototype = {
       logError("Layer of zlevel " + zlevel + " is not valid");
       return;
     }
-    if (len2 > 0 && zlevel > zlevelList[0]) {
-      for (i2 = 0; i2 < len2 - 1; i2++) {
+    if (len > 0 && zlevel > zlevelList[0]) {
+      for (i2 = 0; i2 < len - 1; i2++) {
         if (zlevelList[i2] < zlevel && zlevelList[i2 + 1] > zlevel) {
           break;
         }
@@ -7392,8 +7398,8 @@ Painter$3.prototype = {
     return imgShape;
   }
 };
-var _default$U = Painter$3;
-var Painter_1 = _default$U;
+var _default$O = Painter$3;
+var Painter_1 = _default$O;
 var util$3 = util$8;
 var _event$1 = event$1;
 var Dispatcher = _event$1.Dispatcher;
@@ -7457,10 +7463,10 @@ Animation$2.prototype = {
     var time = (/* @__PURE__ */ new Date()).getTime() - this._pausedTime;
     var delta = time - this._time;
     var clips = this._clips;
-    var len2 = clips.length;
+    var len = clips.length;
     var deferredEvents = [];
     var deferredClips = [];
-    for (var i2 = 0; i2 < len2; i2++) {
+    for (var i2 = 0; i2 < len; i2++) {
       var clip = clips[i2];
       var e2 = clip.step(time, delta);
       if (e2) {
@@ -7468,17 +7474,17 @@ Animation$2.prototype = {
         deferredClips.push(clip);
       }
     }
-    for (var i2 = 0; i2 < len2; ) {
+    for (var i2 = 0; i2 < len; ) {
       if (clips[i2]._needsRemove) {
-        clips[i2] = clips[len2 - 1];
+        clips[i2] = clips[len - 1];
         clips.pop();
-        len2--;
+        len--;
       } else {
         i2++;
       }
     }
-    len2 = deferredEvents.length;
-    for (var i2 = 0; i2 < len2; i2++) {
+    len = deferredEvents.length;
+    for (var i2 = 0; i2 < len; i2++) {
       deferredClips[i2].fire(deferredEvents[i2]);
     }
     this._time = time;
@@ -7562,18 +7568,18 @@ Animation$2.prototype = {
   }
 };
 util$3.mixin(Animation$2, Dispatcher);
-var _default$T = Animation$2;
-var Animation_1 = _default$T;
+var _default$N = Animation$2;
+var Animation_1 = _default$N;
 var _event = event$1;
 var addEventListener = _event.addEventListener;
 var removeEventListener = _event.removeEventListener;
 var normalizeEvent = _event.normalizeEvent;
 var getNativeEvent = _event.getNativeEvent;
-var zrUtil$l = util$8;
+var zrUtil$i = util$8;
 var Eventful = Eventful_1;
-var env$5 = env_1;
+var env$4 = env_1;
 var TOUCH_CLICK_DELAY = 300;
-var globalEventSupported = env$5.domSupported;
+var globalEventSupported = env$4.domSupported;
 var localNativeListenerNames = function() {
   var mouseHandlerNames = ["click", "dblclick", "mousewheel", "mouseout", "mouseup", "mousedown", "mousemove", "contextmenu"];
   var touchHandlerNames = ["touchstart", "touchend", "touchmove"];
@@ -7583,7 +7589,7 @@ var localNativeListenerNames = function() {
     pointermove: 1,
     pointerout: 1
   };
-  var pointerHandlerNames = zrUtil$l.map(mouseHandlerNames, function(name2) {
+  var pointerHandlerNames = zrUtil$i.map(mouseHandlerNames, function(name2) {
     var nm = name2.replace("mouse", "pointer");
     return pointerEventNameMap.hasOwnProperty(nm) ? nm : name2;
   });
@@ -7598,7 +7604,7 @@ var globalNativeListenerNames = {
   pointer: ["pointermove", "pointerup"]
 };
 function eventNameFix(name2) {
-  return name2 === "mousewheel" && env$5.browser.firefox ? "DOMMouseScroll" : name2;
+  return name2 === "mousewheel" && env$4.browser.firefox ? "DOMMouseScroll" : name2;
 }
 function isPointerFromTouch(event2) {
   var pointerType = event2.pointerType;
@@ -7637,7 +7643,7 @@ function FakeGlobalEvent(instance, event2) {
   this.clientY = event2.clientY;
 }
 var fakeGlobalEventProto = FakeGlobalEvent.prototype;
-fakeGlobalEventProto.stopPropagation = fakeGlobalEventProto.stopImmediatePropagation = fakeGlobalEventProto.preventDefault = zrUtil$l.noop;
+fakeGlobalEventProto.stopPropagation = fakeGlobalEventProto.stopImmediatePropagation = fakeGlobalEventProto.preventDefault = zrUtil$i.noop;
 var localDOMHandlers = {
   mousedown: function(event2) {
     event2 = normalizeEvent(this.dom, event2);
@@ -7706,7 +7712,7 @@ var localDOMHandlers = {
     }
   }
 };
-zrUtil$l.each(["click", "mousewheel", "dblclick", "contextmenu"], function(name2) {
+zrUtil$i.each(["click", "mousewheel", "dblclick", "contextmenu"], function(name2) {
   localDOMHandlers[name2] = function(event2) {
     event2 = normalizeEvent(this.dom, event2);
     this.trigger(name2, event2);
@@ -7736,22 +7742,22 @@ var globalDOMHandlers = {
 };
 function mountLocalDOMEventListeners(instance, scope) {
   var domHandlers = scope.domHandlers;
-  if (env$5.pointerEventsSupported) {
-    zrUtil$l.each(localNativeListenerNames.pointer, function(nativeEventName) {
+  if (env$4.pointerEventsSupported) {
+    zrUtil$i.each(localNativeListenerNames.pointer, function(nativeEventName) {
       mountSingleDOMEventListener(scope, nativeEventName, function(event2) {
         domHandlers[nativeEventName].call(instance, event2);
       });
     });
   } else {
-    if (env$5.touchEventsSupported) {
-      zrUtil$l.each(localNativeListenerNames.touch, function(nativeEventName) {
+    if (env$4.touchEventsSupported) {
+      zrUtil$i.each(localNativeListenerNames.touch, function(nativeEventName) {
         mountSingleDOMEventListener(scope, nativeEventName, function(event2) {
           domHandlers[nativeEventName].call(instance, event2);
           setTouchTimer(scope);
         });
       });
     }
-    zrUtil$l.each(localNativeListenerNames.mouse, function(nativeEventName) {
+    zrUtil$i.each(localNativeListenerNames.mouse, function(nativeEventName) {
       mountSingleDOMEventListener(scope, nativeEventName, function(event2) {
         event2 = getNativeEvent(event2);
         if (!scope.touching) {
@@ -7762,10 +7768,10 @@ function mountLocalDOMEventListeners(instance, scope) {
   }
 }
 function mountGlobalDOMEventListeners(instance, scope) {
-  if (env$5.pointerEventsSupported) {
-    zrUtil$l.each(globalNativeListenerNames.pointer, mount);
-  } else if (!env$5.touchEventsSupported) {
-    zrUtil$l.each(globalNativeListenerNames.mouse, mount);
+  if (env$4.pointerEventsSupported) {
+    zrUtil$i.each(globalNativeListenerNames.pointer, mount);
+  } else if (!env$4.touchEventsSupported) {
+    zrUtil$i.each(globalNativeListenerNames.mouse, mount);
   }
   function mount(nativeEventName) {
     function nativeEventListener(event2) {
@@ -7838,12 +7844,12 @@ handlerDomProxyProto.dispose = function() {
 handlerDomProxyProto.setCursor = function(cursorStyle) {
   this.dom.style && (this.dom.style.cursor = cursorStyle || "default");
 };
-zrUtil$l.mixin(HandlerDomProxy, Eventful);
-var _default$S = HandlerDomProxy;
-var HandlerProxy$1 = _default$S;
+zrUtil$i.mixin(HandlerDomProxy, Eventful);
+var _default$M = HandlerDomProxy;
+var HandlerProxy$1 = _default$M;
 var guid$1 = guid$3;
-var env$4 = env_1;
-var zrUtil$k = util$8;
+var env$3 = env_1;
+var zrUtil$h = util$8;
 var Handler = Handler_1;
 var Storage = Storage_1;
 var Painter$2 = Painter_1;
@@ -7858,7 +7864,7 @@ var HandlerProxy = HandlerProxy$1;
 * LICENSE
 * https://github.com/ecomfe/zrender/blob/master/LICENSE.txt
 */
-var useVML = !env$4.canvasSupported;
+var useVML = !env$3.canvasSupported;
 var painterCtors = {
   canvas: Painter$2
 };
@@ -7909,11 +7915,11 @@ var ZRender = function(id, dom2, opts) {
   var painter = new painterCtors[rendererType](dom2, storage2, opts, id);
   this.storage = storage2;
   this.painter = painter;
-  var handerProxy = !env$4.node && !env$4.worker ? new HandlerProxy(painter.getViewportRoot(), painter.root) : null;
+  var handerProxy = !env$3.node && !env$3.worker ? new HandlerProxy(painter.getViewportRoot(), painter.root) : null;
   this.handler = new Handler(storage2, painter, handerProxy, painter.root);
   this.animation = new Animation$1({
     stage: {
-      update: zrUtil$k.bind(this.flush, this)
+      update: zrUtil$h.bind(this.flush, this)
     }
   });
   this.animation.start();
@@ -8172,11 +8178,11 @@ zrender.dispose = dispose;
 zrender.getInstance = getInstance;
 zrender.registerPainter = registerPainter;
 var model = {};
-var zrUtil$j = util$8;
-var env$3 = env_1;
-var each$c = zrUtil$j.each;
-var isObject$6 = zrUtil$j.isObject;
-var isArray$5 = zrUtil$j.isArray;
+var zrUtil$g = util$8;
+var env$2 = env_1;
+var each$c = zrUtil$g.each;
+var isObject$6 = zrUtil$g.isObject;
+var isArray$5 = zrUtil$g.isArray;
 var DUMMY_COMPONENT_NAME_PREFIX = "series\0";
 function normalizeToArray$3(value) {
   return value instanceof Array ? value : value == null ? [] : [value];
@@ -8186,7 +8192,7 @@ function defaultEmphasis(opt, key2, subOpts) {
     opt[key2] = opt[key2] || {};
     opt.emphasis = opt.emphasis || {};
     opt.emphasis[key2] = opt.emphasis[key2] || {};
-    for (var i2 = 0, len2 = subOpts.length; i2 < len2; i2++) {
+    for (var i2 = 0, len = subOpts.length; i2 < len; i2++) {
       var subOptName = subOpts[i2];
       if (!opt.emphasis[key2].hasOwnProperty(subOptName) && opt[key2].hasOwnProperty(subOptName)) {
         opt.emphasis[key2][subOptName] = opt[key2][subOptName];
@@ -8203,7 +8209,7 @@ function isDataItemOption$1(dataItem) {
 }
 function mappingToExists(exists, newCptOptions) {
   newCptOptions = (newCptOptions || []).slice();
-  var result = zrUtil$j.map(exists || [], function(obj, index3) {
+  var result = zrUtil$g.map(exists || [], function(obj, index3) {
     return {
       exist: obj
     };
@@ -8249,14 +8255,14 @@ function mappingToExists(exists, newCptOptions) {
   return result;
 }
 function makeIdAndName(mapResult) {
-  var idMap = zrUtil$j.createHashMap();
+  var idMap = zrUtil$g.createHashMap();
   each$c(mapResult, function(item, index3) {
     var existCpt = item.exist;
     existCpt && idMap.set(existCpt.id, item);
   });
   each$c(mapResult, function(item, index3) {
     var opt = item.option;
-    zrUtil$j.assert(!opt || opt.id == null || !idMap.get(opt.id) || idMap.get(opt.id) === item, "id duplicates: " + (opt && opt.id));
+    zrUtil$g.assert(!opt || opt.id == null || !idMap.get(opt.id) || idMap.get(opt.id) === item, "id duplicates: " + (opt && opt.id));
     opt && opt.id != null && idMap.set(opt.id, item);
     !item.keyInfo && (item.keyInfo = {});
   });
@@ -8295,7 +8301,7 @@ function compressBatches(batchA, batchB) {
   makeMap(batchB || [], mapB, mapA);
   return [mapToArray(mapA), mapToArray(mapB)];
   function makeMap(sourceBatch, map2, otherMap) {
-    for (var i2 = 0, len2 = sourceBatch.length; i2 < len2; i2++) {
+    for (var i2 = 0, len = sourceBatch.length; i2 < len; i2++) {
       var seriesId = sourceBatch[i2].seriesId;
       var dataIndices = normalizeToArray$3(sourceBatch[i2].dataIndex);
       var otherDataIndices = otherMap && otherMap[seriesId];
@@ -8331,16 +8337,16 @@ function queryDataIndex(data, payload) {
   if (payload.dataIndexInside != null) {
     return payload.dataIndexInside;
   } else if (payload.dataIndex != null) {
-    return zrUtil$j.isArray(payload.dataIndex) ? zrUtil$j.map(payload.dataIndex, function(value) {
+    return zrUtil$g.isArray(payload.dataIndex) ? zrUtil$g.map(payload.dataIndex, function(value) {
       return data.indexOfRawIndex(value);
     }) : data.indexOfRawIndex(payload.dataIndex);
   } else if (payload.name != null) {
-    return zrUtil$j.isArray(payload.name) ? zrUtil$j.map(payload.name, function(value) {
+    return zrUtil$g.isArray(payload.name) ? zrUtil$g.map(payload.name, function(value) {
       return data.indexOfName(value);
     }) : data.indexOfName(payload.name);
   }
 }
-function makeInner$4() {
+function makeInner$3() {
   var key2 = "__\0ec_inner_" + innerUniqueIndex++ + "_" + Math.random().toFixed(5);
   return function(hostObj) {
     return hostObj[key2] || (hostObj[key2] = {});
@@ -8348,7 +8354,7 @@ function makeInner$4() {
 }
 var innerUniqueIndex = 0;
 function parseFinder(ecModel, finder, opt) {
-  if (zrUtil$j.isString(finder)) {
+  if (zrUtil$g.isString(finder)) {
     var obj = {};
     obj[finder + "Index"] = 0;
     finder = obj;
@@ -8367,7 +8373,7 @@ function parseFinder(ecModel, finder, opt) {
     var parsedKey = key2.match(/^(\w+)(Index|Id|Name)$/) || [];
     var mainType = parsedKey[1];
     var queryType = (parsedKey[2] || "").toLowerCase();
-    if (!mainType || !queryType || value == null || queryType === "index" && value === "none" || opt && opt.includeMainTypes && zrUtil$j.indexOf(opt.includeMainTypes, mainType) < 0) {
+    if (!mainType || !queryType || value == null || queryType === "index" && value === "none" || opt && opt.includeMainTypes && zrUtil$g.indexOf(opt.includeMainTypes, mainType) < 0) {
       return;
     }
     var queryParam = {
@@ -8393,15 +8399,15 @@ function getAttribute(dom2, key2) {
 }
 function getTooltipRenderMode$1(renderModeOption) {
   if (renderModeOption === "auto") {
-    return env$3.domSupported ? "html" : "richText";
+    return env$2.domSupported ? "html" : "richText";
   } else {
     return renderModeOption || "html";
   }
 }
 function groupData(array, getKey) {
-  var buckets = zrUtil$j.createHashMap();
+  var buckets = zrUtil$g.createHashMap();
   var keys = [];
-  zrUtil$j.each(array, function(item) {
+  zrUtil$g.each(array, function(item) {
     var key2 = getKey(item);
     (buckets.get(key2) || (keys.push(key2), buckets.set(key2, []))).push(item);
   });
@@ -8421,14 +8427,14 @@ model.isNameSpecified = isNameSpecified;
 model.isIdInner = isIdInner;
 model.compressBatches = compressBatches;
 model.queryDataIndex = queryDataIndex;
-model.makeInner = makeInner$4;
+model.makeInner = makeInner$3;
 model.parseFinder = parseFinder;
 model.setAttribute = setAttribute;
 model.getAttribute = getAttribute;
 model.getTooltipRenderMode = getTooltipRenderMode$1;
 model.groupData = groupData;
 var clazz = {};
-var zrUtil$i = util$8;
+var zrUtil$f = util$8;
 var TYPE_DELIMITER = ".";
 var IS_CONTAINER = "___EC__COMPONENT__CONTAINER___";
 function parseClassType$2(componentType) {
@@ -8444,9 +8450,9 @@ function parseClassType$2(componentType) {
   return ret;
 }
 function checkClassType(componentType) {
-  zrUtil$i.assert(/^[a-zA-Z0-9_]+([.][a-zA-Z0-9_]+)?$/.test(componentType), 'componentType "' + componentType + '" illegal');
+  zrUtil$f.assert(/^[a-zA-Z0-9_]+([.][a-zA-Z0-9_]+)?$/.test(componentType), 'componentType "' + componentType + '" illegal');
 }
-function enableClassExtend$1(RootClass, mandatoryMethods) {
+function enableClassExtend(RootClass, mandatoryMethods) {
   RootClass.$constructor = RootClass;
   RootClass.extend = function(proto2) {
     var superClass = this;
@@ -8457,17 +8463,17 @@ function enableClassExtend$1(RootClass, mandatoryMethods) {
         proto2.$constructor.apply(this, arguments);
       }
     };
-    zrUtil$i.extend(ExtendedClass.prototype, proto2);
+    zrUtil$f.extend(ExtendedClass.prototype, proto2);
     ExtendedClass.extend = this.extend;
     ExtendedClass.superCall = superCall;
     ExtendedClass.superApply = superApply;
-    zrUtil$i.inherits(ExtendedClass, this);
+    zrUtil$f.inherits(ExtendedClass, this);
     ExtendedClass.superClass = superClass;
     return ExtendedClass;
   };
 }
 var classBase = 0;
-function enableClassCheck$1(Clz) {
+function enableClassCheck(Clz) {
   var classAttr = ["__\0is_clz", classBase++, Math.random().toFixed(3)].join("_");
   Clz.prototype[classAttr] = true;
   Clz.isInstance = function(obj) {
@@ -8475,7 +8481,7 @@ function enableClassCheck$1(Clz) {
   };
 }
 function superCall(context, methodName) {
-  var args = zrUtil$i.slice(arguments, 2);
+  var args = zrUtil$f.slice(arguments, 2);
   return this.superClass.prototype[methodName].apply(context, args);
 }
 function superApply(context, methodName, args) {
@@ -8512,7 +8518,7 @@ function enableClassManagement$1(entity, options) {
     var result = [];
     var obj = storage2[componentType.main];
     if (obj && obj[IS_CONTAINER]) {
-      zrUtil$i.each(obj, function(o2, type2) {
+      zrUtil$f.each(obj, function(o2, type2) {
         type2 !== IS_CONTAINER && result.push(o2);
       });
     } else {
@@ -8526,7 +8532,7 @@ function enableClassManagement$1(entity, options) {
   };
   entity.getAllClassMainTypes = function() {
     var types2 = [];
-    zrUtil$i.each(storage2, function(obj, type2) {
+    zrUtil$f.each(storage2, function(obj, type2) {
       types2.push(type2);
     });
     return types2;
@@ -8559,71 +8565,95 @@ function enableClassManagement$1(entity, options) {
 function setReadOnly(obj, properties) {
 }
 clazz.parseClassType = parseClassType$2;
-clazz.enableClassExtend = enableClassExtend$1;
-clazz.enableClassCheck = enableClassCheck$1;
+clazz.enableClassExtend = enableClassExtend;
+clazz.enableClassCheck = enableClassCheck;
 clazz.enableClassManagement = enableClassManagement$1;
 clazz.setReadOnly = setReadOnly;
-var zrUtil$h = util$8;
-function _default$R(properties) {
-  for (var i2 = 0; i2 < properties.length; i2++) {
-    if (!properties[i2][1]) {
-      properties[i2][1] = properties[i2][0];
-    }
-  }
-  return function(model2, excludes, includes) {
-    var style2 = {};
-    for (var i3 = 0; i3 < properties.length; i3++) {
-      var propName = properties[i3][1];
-      if (excludes && zrUtil$h.indexOf(excludes, propName) >= 0 || includes && zrUtil$h.indexOf(includes, propName) < 0) {
-        continue;
+var makeStyleMapper;
+var hasRequiredMakeStyleMapper;
+function requireMakeStyleMapper() {
+  if (hasRequiredMakeStyleMapper)
+    return makeStyleMapper;
+  hasRequiredMakeStyleMapper = 1;
+  var zrUtil2 = util$8;
+  function _default68(properties) {
+    for (var i2 = 0; i2 < properties.length; i2++) {
+      if (!properties[i2][1]) {
+        properties[i2][1] = properties[i2][0];
       }
-      var val = model2.getShallow(propName);
-      if (val != null) {
-        style2[properties[i3][0]] = val;
+    }
+    return function(model2, excludes, includes) {
+      var style2 = {};
+      for (var i3 = 0; i3 < properties.length; i3++) {
+        var propName = properties[i3][1];
+        if (excludes && zrUtil2.indexOf(excludes, propName) >= 0 || includes && zrUtil2.indexOf(includes, propName) < 0) {
+          continue;
+        }
+        var val = model2.getShallow(propName);
+        if (val != null) {
+          style2[properties[i3][0]] = val;
+        }
       }
+      return style2;
+    };
+  }
+  makeStyleMapper = _default68;
+  return makeStyleMapper;
+}
+var lineStyle;
+var hasRequiredLineStyle;
+function requireLineStyle() {
+  if (hasRequiredLineStyle)
+    return lineStyle;
+  hasRequiredLineStyle = 1;
+  var makeStyleMapper2 = requireMakeStyleMapper();
+  var getLineStyle = makeStyleMapper2([["lineWidth", "width"], ["stroke", "color"], ["opacity"], ["shadowBlur"], ["shadowOffsetX"], ["shadowOffsetY"], ["shadowColor"]]);
+  var _default68 = {
+    getLineStyle: function(excludes) {
+      var style2 = getLineStyle(this, excludes);
+      style2.lineDash = this.getLineDash(style2.lineWidth);
+      return style2;
+    },
+    getLineDash: function(lineWidth) {
+      if (lineWidth == null) {
+        lineWidth = 1;
+      }
+      var lineType = this.get("type");
+      var dotSize = Math.max(lineWidth, 2);
+      var dashSize = lineWidth * 4;
+      return lineType === "solid" || lineType == null ? (
+        // Use `false` but not `null` for the solid line here, because `null` might be
+        // ignored when assigning to `el.style`. e.g., when setting `lineStyle.type` as
+        // `'dashed'` and `emphasis.lineStyle.type` as `'solid'` in graph series, the
+        // `lineDash` gotten form the latter one is not able to erase that from the former
+        // one if using `null` here according to the emhpsis strategy in `util/graphic.js`.
+        false
+      ) : lineType === "dashed" ? [dashSize, dashSize] : [dotSize, dotSize];
     }
-    return style2;
   };
+  lineStyle = _default68;
+  return lineStyle;
+}
+var areaStyle;
+var hasRequiredAreaStyle;
+function requireAreaStyle() {
+  if (hasRequiredAreaStyle)
+    return areaStyle;
+  hasRequiredAreaStyle = 1;
+  var makeStyleMapper2 = requireMakeStyleMapper();
+  var getAreaStyle = makeStyleMapper2([["fill", "color"], ["shadowBlur"], ["shadowOffsetX"], ["shadowOffsetY"], ["opacity"], ["shadowColor"]]);
+  var _default68 = {
+    getAreaStyle: function(excludes, includes) {
+      return getAreaStyle(this, excludes, includes);
+    }
+  };
+  areaStyle = _default68;
+  return areaStyle;
 }
-var makeStyleMapper$3 = _default$R;
-var makeStyleMapper$2 = makeStyleMapper$3;
-var getLineStyle = makeStyleMapper$2([["lineWidth", "width"], ["stroke", "color"], ["opacity"], ["shadowBlur"], ["shadowOffsetX"], ["shadowOffsetY"], ["shadowColor"]]);
-var _default$Q = {
-  getLineStyle: function(excludes) {
-    var style2 = getLineStyle(this, excludes);
-    style2.lineDash = this.getLineDash(style2.lineWidth);
-    return style2;
-  },
-  getLineDash: function(lineWidth) {
-    if (lineWidth == null) {
-      lineWidth = 1;
-    }
-    var lineType = this.get("type");
-    var dotSize = Math.max(lineWidth, 2);
-    var dashSize = lineWidth * 4;
-    return lineType === "solid" || lineType == null ? (
-      // Use `false` but not `null` for the solid line here, because `null` might be
-      // ignored when assigning to `el.style`. e.g., when setting `lineStyle.type` as
-      // `'dashed'` and `emphasis.lineStyle.type` as `'solid'` in graph series, the
-      // `lineDash` gotten form the latter one is not able to erase that from the former
-      // one if using `null` here according to the emhpsis strategy in `util/graphic.js`.
-      false
-    ) : lineType === "dashed" ? [dashSize, dashSize] : [dotSize, dotSize];
-  }
-};
-var lineStyle = _default$Q;
-var makeStyleMapper$1 = makeStyleMapper$3;
-var getAreaStyle = makeStyleMapper$1([["fill", "color"], ["shadowBlur"], ["shadowOffsetX"], ["shadowOffsetY"], ["opacity"], ["shadowColor"]]);
-var _default$P = {
-  getAreaStyle: function(excludes, includes) {
-    return getAreaStyle(this, excludes, includes);
-  }
-};
-var areaStyle = _default$P;
 var graphic$4 = {};
 var path$1 = {};
 var curve$3 = {};
-var _vector$3 = vector$2;
+var _vector$3 = requireVector();
 var v2Create = _vector$3.create;
 var v2DistSquare = _vector$3.distSquare;
 var mathPow = Math.pow;
@@ -8937,7 +8967,7 @@ function requireBbox() {
   if (hasRequiredBbox)
     return bbox$1;
   hasRequiredBbox = 1;
-  var vec22 = vector$2;
+  var vec22 = requireVector();
   var curve2 = curve$3;
   var mathMin2 = Math.min;
   var mathMax2 = Math.max;
@@ -9070,7 +9100,7 @@ function requireBbox() {
   return bbox$1;
 }
 var curve$2 = curve$3;
-var vec2$1 = vector$2;
+var vec2$1 = requireVector();
 var bbox = requireBbox();
 var BoundingRect$3 = BoundingRect_1;
 var _config = config;
@@ -9310,14 +9340,14 @@ PathProxy$4.prototype = {
    * 直接设置 Path 数据
    */
   setData: function(data) {
-    var len2 = data.length;
-    if (!(this.data && this.data.length === len2) && hasTypedArray) {
-      this.data = new Float32Array(len2);
+    var len = data.length;
+    if (!(this.data && this.data.length === len) && hasTypedArray) {
+      this.data = new Float32Array(len);
     }
-    for (var i2 = 0; i2 < len2; i2++) {
+    for (var i2 = 0; i2 < len; i2++) {
       this.data[i2] = data[i2];
     }
-    this._len = len2;
+    this._len = len;
   },
   /**
    * 添加子路径
@@ -9327,16 +9357,16 @@ PathProxy$4.prototype = {
     if (!(path2 instanceof Array)) {
       path2 = [path2];
     }
-    var len2 = path2.length;
+    var len = path2.length;
     var appendSize = 0;
     var offset2 = this._len;
-    for (var i2 = 0; i2 < len2; i2++) {
+    for (var i2 = 0; i2 < len; i2++) {
       appendSize += path2[i2].len();
     }
     if (hasTypedArray && this.data instanceof Float32Array) {
       this.data = new Float32Array(offset2 + appendSize);
     }
-    for (var i2 = 0; i2 < len2; i2++) {
+    for (var i2 = 0; i2 < len; i2++) {
       var appendPathData = path2[i2].data;
       for (var k = 0; k < appendPathData.length; k++) {
         this.data[offset2++] = appendPathData[k];
@@ -9582,8 +9612,8 @@ PathProxy$4.prototype = {
     var y;
     var ux = this._ux;
     var uy = this._uy;
-    var len2 = this._len;
-    for (var i2 = 0; i2 < len2; ) {
+    var len = this._len;
+    for (var i2 = 0; i2 < len; ) {
       var cmd = d2[i2++];
       if (i2 === 1) {
         xi = d2[i2];
@@ -9600,7 +9630,7 @@ PathProxy$4.prototype = {
         case CMD$2.L:
           x = d2[i2++];
           y = d2[i2++];
-          if (mathAbs(x - xi) > ux || mathAbs(y - yi) > uy || i2 === len2 - 1) {
+          if (mathAbs(x - xi) > ux || mathAbs(y - yi) > uy || i2 === len - 1) {
             ctx.lineTo(x, y);
             xi = x;
             yi = y;
@@ -9662,8 +9692,8 @@ PathProxy$4.prototype = {
   }
 };
 PathProxy$4.CMD = CMD$2;
-var _default$O = PathProxy$4;
-var PathProxy_1 = _default$O;
+var _default$L = PathProxy$4;
+var PathProxy_1 = _default$L;
 var path = {};
 var line$2 = {};
 function containStroke$4(x0, y0, x1, y1, lineWidth, x, y) {
@@ -10065,7 +10095,7 @@ function containStroke(pathData, lineWidth, x, y) {
 path.contain = contain;
 path.containStroke = containStroke;
 var Displayable$1 = Displayable_1;
-var zrUtil$g = util$8;
+var zrUtil$e = util$8;
 var PathProxy$2 = PathProxy_1;
 var pathContain = path;
 var Pattern = Pattern_1;
@@ -10127,8 +10157,8 @@ Path$e.prototype = {
     var lineDash = style2.lineDash;
     var lineDashOffset = style2.lineDashOffset;
     var ctxLineDash = !!ctx.setLineDash;
-    var scale2 = this.getGlobalScale();
-    path2.setScale(scale2[0], scale2[1], this.segmentIgnoreThreshold);
+    var scale = this.getGlobalScale();
+    path2.setScale(scale[0], scale[1], this.segmentIgnoreThreshold);
     if (this.__dirtyPath || lineDash && !ctxLineDash && hasStroke) {
       path2.beginPath(ctx);
       if (lineDash && !ctxLineDash) {
@@ -10285,7 +10315,7 @@ Path$e.prototype = {
   setShape: function(key2, value) {
     var shape = this.shape;
     if (shape) {
-      if (zrUtil$g.isObject(key2)) {
+      if (zrUtil$e.isObject(key2)) {
         for (var name2 in key2) {
           if (key2.hasOwnProperty(name2)) {
             shape[name2] = key2[name2];
@@ -10321,7 +10351,7 @@ Path$e.extend = function(defaults2) {
     }
     defaults2.init && defaults2.init.call(this, opts);
   };
-  zrUtil$g.inherits(Sub, Path$e);
+  zrUtil$e.inherits(Sub, Path$e);
   for (var name2 in defaults2) {
     if (name2 !== "style" && name2 !== "shape") {
       Sub.prototype[name2] = defaults2[name2];
@@ -10329,17 +10359,17 @@ Path$e.extend = function(defaults2) {
   }
   return Sub;
 };
-zrUtil$g.inherits(Path$e, Displayable$1);
-var _default$N = Path$e;
-var Path_1 = _default$N;
+zrUtil$e.inherits(Path$e, Displayable$1);
+var _default$K = Path$e;
+var Path_1 = _default$K;
 var PathProxy$1 = PathProxy_1;
-var _vector$2 = vector$2;
+var _vector$2 = requireVector();
 var v2ApplyTransform = _vector$2.applyTransform;
 var CMD = PathProxy$1.CMD;
 var points$1 = [[], [], []];
 var mathSqrt$1 = Math.sqrt;
 var mathAtan2 = Math.atan2;
-function _default$M(path2, m2) {
+function _default$J(path2, m2) {
   var data = path2.data;
   var cmd;
   var nPoint;
@@ -10409,7 +10439,7 @@ function _default$M(path2, m2) {
     }
   }
 }
-var transformPath$1 = _default$M;
+var transformPath$1 = _default$J;
 var Path$d = Path_1;
 var PathProxy = PathProxy_1;
 var transformPath = transformPath$1;
@@ -10558,11 +10588,11 @@ function createPathProxyFromString(data) {
         case "S":
           ctlPtx = cpx;
           ctlPty = cpy;
-          var len2 = path2.len();
+          var len = path2.len();
           var pathData = path2.data;
           if (prevCmd === CMD2.C) {
-            ctlPtx += cpx - pathData[len2 - 4];
-            ctlPty += cpy - pathData[len2 - 3];
+            ctlPtx += cpx - pathData[len - 4];
+            ctlPty += cpy - pathData[len - 3];
           }
           cmd = CMD2.C;
           x1 = p[off2++];
@@ -10574,11 +10604,11 @@ function createPathProxyFromString(data) {
         case "s":
           ctlPtx = cpx;
           ctlPty = cpy;
-          var len2 = path2.len();
+          var len = path2.len();
           var pathData = path2.data;
           if (prevCmd === CMD2.C) {
-            ctlPtx += cpx - pathData[len2 - 4];
-            ctlPty += cpy - pathData[len2 - 3];
+            ctlPtx += cpx - pathData[len - 4];
+            ctlPty += cpy - pathData[len - 3];
           }
           cmd = CMD2.C;
           x1 = cpx + p[off2++];
@@ -10606,11 +10636,11 @@ function createPathProxyFromString(data) {
         case "T":
           ctlPtx = cpx;
           ctlPty = cpy;
-          var len2 = path2.len();
+          var len = path2.len();
           var pathData = path2.data;
           if (prevCmd === CMD2.Q) {
-            ctlPtx += cpx - pathData[len2 - 4];
-            ctlPty += cpy - pathData[len2 - 3];
+            ctlPtx += cpx - pathData[len - 4];
+            ctlPty += cpy - pathData[len - 3];
           }
           cpx = p[off2++];
           cpy = p[off2++];
@@ -10620,11 +10650,11 @@ function createPathProxyFromString(data) {
         case "t":
           ctlPtx = cpx;
           ctlPty = cpy;
-          var len2 = path2.len();
+          var len = path2.len();
           var pathData = path2.data;
           if (prevCmd === CMD2.Q) {
-            ctlPtx += cpx - pathData[len2 - 4];
-            ctlPty += cpy - pathData[len2 - 3];
+            ctlPtx += cpx - pathData[len - 4];
+            ctlPty += cpy - pathData[len - 3];
           }
           cpx += p[off2++];
           cpy += p[off2++];
@@ -10697,8 +10727,8 @@ function extendFromString(str, opts) {
 }
 function mergePath$1(pathEls, opts) {
   var pathList = [];
-  var len2 = pathEls.length;
-  for (var i2 = 0; i2 < len2; i2++) {
+  var len = pathEls.length;
+  for (var i2 = 0; i2 < len; i2++) {
     var pathEl = pathEls[i2];
     if (!pathEl.path) {
       pathEl.createPathProxy();
@@ -10723,8 +10753,8 @@ path$1.createFromString = createFromString$1;
 path$1.extendFromString = extendFromString;
 path$1.mergePath = mergePath$1;
 var Displayable = Displayable_1;
-var zrUtil$f = util$8;
-var textContain$3 = text;
+var zrUtil$d = util$8;
+var textContain$1 = text;
 var textHelper = text$1;
 var _constant = constant;
 var ContextCachedBy = _constant.ContextCachedBy;
@@ -10753,7 +10783,7 @@ Text$3.prototype = {
     this.__dirty && textHelper.normalizeTextStyle(style2, true);
     if (!this._rect) {
       style2.text;
-      var rect = textContain$3.getBoundingRect(style2.text + "", style2.font, style2.textAlign, style2.textVerticalAlign, style2.textPadding, style2.textLineHeight, style2.rich);
+      var rect = textContain$1.getBoundingRect(style2.text + "", style2.font, style2.textAlign, style2.textVerticalAlign, style2.textPadding, style2.textLineHeight, style2.rich);
       rect.x += style2.x || 0;
       rect.y += style2.y || 0;
       if (textHelper.getStroke(style2.textStroke, style2.textStrokeWidth)) {
@@ -10768,11 +10798,11 @@ Text$3.prototype = {
     return this._rect;
   }
 };
-zrUtil$f.inherits(Text$3, Displayable);
-var _default$L = Text$3;
-var Text_1 = _default$L;
+zrUtil$d.inherits(Text$3, Displayable);
+var _default$I = Text$3;
+var Text_1 = _default$I;
 var Path$c = Path_1;
-var _default$K = Path$c.extend({
+var _default$H = Path$c.extend({
   type: "circle",
   shape: {
     cx: 0,
@@ -10786,11 +10816,11 @@ var _default$K = Path$c.extend({
     ctx.arc(shape.cx, shape.cy, shape.r, 0, Math.PI * 2, true);
   }
 });
-var Circle$2 = _default$K;
-var env$2 = env_1;
+var Circle$2 = _default$H;
+var env$1 = env_1;
 var shadowTemp = [["shadowBlur", 0], ["shadowColor", "#000"], ["shadowOffsetX", 0], ["shadowOffsetY", 0]];
-function _default$J(orignalBrush) {
-  return env$2.browser.ie && env$2.browser.version >= 11 ? function() {
+function _default$G(orignalBrush) {
+  return env$1.browser.ie && env$1.browser.version >= 11 ? function() {
     var clipPaths = this.__clipPaths;
     var style2 = this.style;
     var modified;
@@ -10817,10 +10847,10 @@ function _default$J(orignalBrush) {
     }
   } : orignalBrush;
 }
-var fixClipWithShadow$1 = _default$J;
+var fixClipWithShadow$1 = _default$G;
 var Path$b = Path_1;
 var fixClipWithShadow = fixClipWithShadow$1;
-var _default$I = Path$b.extend({
+var _default$F = Path$b.extend({
   type: "sector",
   shape: {
     cx: 0,
@@ -10852,9 +10882,9 @@ var _default$I = Path$b.extend({
     ctx.closePath();
   }
 });
-var Sector$1 = _default$I;
+var Sector$1 = _default$F;
 var Path$a = Path_1;
-var _default$H = Path$a.extend({
+var _default$E = Path$a.extend({
   type: "ring",
   shape: {
     cx: 0,
@@ -10872,40 +10902,40 @@ var _default$H = Path$a.extend({
     ctx.arc(x, y, shape.r0, 0, PI22, true);
   }
 });
-var Ring$1 = _default$H;
+var Ring$1 = _default$E;
 var poly$1 = {};
-var _vector$1 = vector$2;
+var _vector$1 = requireVector();
 var v2Distance$1 = _vector$1.distance;
 function interpolate(p0, p1, p2, p3, t2, t22, t3) {
   var v0 = (p2 - p0) * 0.5;
   var v1 = (p3 - p1) * 0.5;
   return (2 * (p1 - p2) + v0 + v1) * t3 + (-3 * (p1 - p2) - 2 * v0 - v1) * t22 + v0 * t2 + p1;
 }
-function _default$G(points2, isLoop) {
-  var len2 = points2.length;
+function _default$D(points2, isLoop) {
+  var len = points2.length;
   var ret = [];
-  var distance2 = 0;
-  for (var i2 = 1; i2 < len2; i2++) {
-    distance2 += v2Distance$1(points2[i2 - 1], points2[i2]);
+  var distance = 0;
+  for (var i2 = 1; i2 < len; i2++) {
+    distance += v2Distance$1(points2[i2 - 1], points2[i2]);
   }
-  var segs = distance2 / 2;
-  segs = segs < len2 ? len2 : segs;
+  var segs = distance / 2;
+  segs = segs < len ? len : segs;
   for (var i2 = 0; i2 < segs; i2++) {
-    var pos = i2 / (segs - 1) * (isLoop ? len2 : len2 - 1);
+    var pos = i2 / (segs - 1) * (isLoop ? len : len - 1);
     var idx = Math.floor(pos);
     var w = pos - idx;
     var p0;
-    var p1 = points2[idx % len2];
+    var p1 = points2[idx % len];
     var p2;
     var p3;
     if (!isLoop) {
       p0 = points2[idx === 0 ? idx : idx - 1];
-      p2 = points2[idx > len2 - 2 ? len2 - 1 : idx + 1];
-      p3 = points2[idx > len2 - 3 ? len2 - 1 : idx + 2];
+      p2 = points2[idx > len - 2 ? len - 1 : idx + 1];
+      p3 = points2[idx > len - 3 ? len - 1 : idx + 2];
     } else {
-      p0 = points2[(idx - 1 + len2) % len2];
-      p2 = points2[(idx + 1) % len2];
-      p3 = points2[(idx + 2) % len2];
+      p0 = points2[(idx - 1 + len) % len];
+      p2 = points2[(idx + 1) % len];
+      p3 = points2[(idx + 2) % len];
     }
     var w2 = w * w;
     var w3 = w * w2;
@@ -10913,8 +10943,8 @@ function _default$G(points2, isLoop) {
   }
   return ret;
 }
-var smoothSpline$1 = _default$G;
-var _vector = vector$2;
+var smoothSpline$1 = _default$D;
+var _vector = requireVector();
 var v2Min = _vector.min;
 var v2Max = _vector.max;
 var v2Scale = _vector.scale;
@@ -10922,7 +10952,7 @@ var v2Distance = _vector.distance;
 var v2Add = _vector.add;
 var v2Clone = _vector.clone;
 var v2Sub = _vector.sub;
-function _default$F(points2, smooth, isLoop, constraint) {
+function _default$C(points2, smooth, isLoop, constraint) {
   var cps = [];
   var v = [];
   var v1 = [];
@@ -10934,20 +10964,20 @@ function _default$F(points2, smooth, isLoop, constraint) {
   if (constraint) {
     min3 = [Infinity, Infinity];
     max3 = [-Infinity, -Infinity];
-    for (var i2 = 0, len2 = points2.length; i2 < len2; i2++) {
+    for (var i2 = 0, len = points2.length; i2 < len; i2++) {
       v2Min(min3, min3, points2[i2]);
       v2Max(max3, max3, points2[i2]);
     }
     v2Min(min3, min3, constraint[0]);
     v2Max(max3, max3, constraint[1]);
   }
-  for (var i2 = 0, len2 = points2.length; i2 < len2; i2++) {
+  for (var i2 = 0, len = points2.length; i2 < len; i2++) {
     var point = points2[i2];
     if (isLoop) {
-      prevPoint = points2[i2 ? i2 - 1 : len2 - 1];
-      nextPoint = points2[(i2 + 1) % len2];
+      prevPoint = points2[i2 ? i2 - 1 : len - 1];
+      nextPoint = points2[(i2 + 1) % len];
     } else {
-      if (i2 === 0 || i2 === len2 - 1) {
+      if (i2 === 0 || i2 === len - 1) {
         cps.push(v2Clone(points2[i2]));
         continue;
       } else {
@@ -10982,7 +11012,7 @@ function _default$F(points2, smooth, isLoop, constraint) {
   }
   return cps;
 }
-var smoothBezier$1 = _default$F;
+var smoothBezier$1 = _default$C;
 var smoothSpline = smoothSpline$1;
 var smoothBezier = smoothBezier$1;
 function buildPath(ctx, shape, closePath) {
@@ -10992,11 +11022,11 @@ function buildPath(ctx, shape, closePath) {
     if (smooth && smooth !== "spline") {
       var controlPoints = smoothBezier(points2, smooth, closePath, shape.smoothConstraint);
       ctx.moveTo(points2[0][0], points2[0][1]);
-      var len2 = points2.length;
-      for (var i2 = 0; i2 < (closePath ? len2 : len2 - 1); i2++) {
+      var len = points2.length;
+      for (var i2 = 0; i2 < (closePath ? len : len - 1); i2++) {
         var cp1 = controlPoints[i2 * 2];
         var cp2 = controlPoints[i2 * 2 + 1];
-        var p = points2[(i2 + 1) % len2];
+        var p = points2[(i2 + 1) % len];
         ctx.bezierCurveTo(cp1[0], cp1[1], cp2[0], cp2[1], p[0], p[1]);
       }
     } else {
@@ -11014,7 +11044,7 @@ function buildPath(ctx, shape, closePath) {
 poly$1.buildPath = buildPath;
 var Path$9 = Path_1;
 var polyHelper$1 = poly$1;
-var _default$E = Path$9.extend({
+var _default$B = Path$9.extend({
   type: "polygon",
   shape: {
     points: null,
@@ -11025,10 +11055,10 @@ var _default$E = Path$9.extend({
     polyHelper$1.buildPath(ctx, shape, true);
   }
 });
-var Polygon$2 = _default$E;
+var Polygon$2 = _default$B;
 var Path$8 = Path_1;
 var polyHelper = poly$1;
-var _default$D = Path$8.extend({
+var _default$A = Path$8.extend({
   type: "polyline",
   shape: {
     points: null,
@@ -11043,7 +11073,7 @@ var _default$D = Path$8.extend({
     polyHelper.buildPath(ctx, shape, false);
   }
 });
-var Polyline$2 = _default$D;
+var Polyline$2 = _default$A;
 var subPixelOptimize$2 = {};
 var round = Math.round;
 function subPixelOptimizeLine$2(outputShape, inputShape, style2) {
@@ -11105,7 +11135,7 @@ var roundRectHelper = roundRect;
 var _subPixelOptimize$1 = subPixelOptimize$2;
 var subPixelOptimizeRect$1 = _subPixelOptimize$1.subPixelOptimizeRect;
 var subPixelOptimizeOutputShape$1 = {};
-var _default$C = Path$7.extend({
+var _default$z = Path$7.extend({
   type: "rect",
   shape: {
     // 左上、右上、右下、左下角的半径依次为r1、r2、r3、r4
@@ -11147,12 +11177,12 @@ var _default$C = Path$7.extend({
     return;
   }
 });
-var Rect$2 = _default$C;
+var Rect$2 = _default$z;
 var Path$6 = Path_1;
 var _subPixelOptimize = subPixelOptimize$2;
 var subPixelOptimizeLine$1 = _subPixelOptimize.subPixelOptimizeLine;
 var subPixelOptimizeOutputShape = {};
-var _default$B = Path$6.extend({
+var _default$y = Path$6.extend({
   type: "line",
   shape: {
     // Start point
@@ -11205,9 +11235,9 @@ var _default$B = Path$6.extend({
     return [shape.x1 * (1 - p) + shape.x2 * p, shape.y1 * (1 - p) + shape.y2 * p];
   }
 });
-var Line$2 = _default$B;
+var Line$2 = _default$y;
 var Path$5 = Path_1;
-var vec2 = vector$2;
+var vec2 = requireVector();
 var _curve = curve$3;
 var quadraticSubdivide = _curve.quadraticSubdivide;
 var cubicSubdivide = _curve.cubicSubdivide;
@@ -11225,7 +11255,7 @@ function someVectorAt(shape, t2, isTangent) {
     return [(isTangent ? quadraticDerivativeAt : quadraticAt)(shape.x1, shape.cpx1, shape.x2, t2), (isTangent ? quadraticDerivativeAt : quadraticAt)(shape.y1, shape.cpy1, shape.y2, t2)];
   }
 }
-var _default$A = Path$5.extend({
+var _default$x = Path$5.extend({
   type: "bezier-curve",
   shape: {
     x1: 0,
@@ -11299,9 +11329,9 @@ var _default$A = Path$5.extend({
     return vec2.normalize(p, p);
   }
 });
-var BezierCurve$1 = _default$A;
+var BezierCurve$1 = _default$x;
 var Path$4 = Path_1;
-var _default$z = Path$4.extend({
+var _default$w = Path$4.extend({
   type: "arc",
   shape: {
     cx: 0,
@@ -11328,9 +11358,9 @@ var _default$z = Path$4.extend({
     ctx.arc(x, y, r2, startAngle, endAngle, !clockwise);
   }
 });
-var Arc$1 = _default$z;
+var Arc$1 = _default$w;
 var Path$3 = Path_1;
-var _default$y = Path$3.extend({
+var _default$v = Path$3.extend({
   type: "compound",
   shape: {
     paths: null
@@ -11347,12 +11377,12 @@ var _default$y = Path$3.extend({
   beforeBrush: function() {
     this._updatePathDirty();
     var paths = this.shape.paths || [];
-    var scale2 = this.getGlobalScale();
+    var scale = this.getGlobalScale();
     for (var i2 = 0; i2 < paths.length; i2++) {
       if (!paths[i2].path) {
         paths[i2].createPathProxy();
       }
-      paths[i2].path.setScale(scale2[0], scale2[1], paths[i2].segmentIgnoreThreshold);
+      paths[i2].path.setScale(scale[0], scale[1], paths[i2].segmentIgnoreThreshold);
     }
   },
   buildPath: function(ctx, shape) {
@@ -11372,7 +11402,7 @@ var _default$y = Path$3.extend({
     return Path$3.prototype.getBoundingRect.call(this);
   }
 });
-var CompoundPath$1 = _default$y;
+var CompoundPath$1 = _default$v;
 var Gradient$3 = function(colorStops) {
   this.colorStops = colorStops || [];
 };
@@ -11385,9 +11415,9 @@ Gradient$3.prototype = {
     });
   }
 };
-var _default$x = Gradient$3;
-var Gradient_1 = _default$x;
-var zrUtil$e = util$8;
+var _default$u = Gradient$3;
+var Gradient_1 = _default$u;
+var zrUtil$c = util$8;
 var Gradient$2 = Gradient_1;
 var LinearGradient$2 = function(x, y, x2, y2, colorStops, globalCoord) {
   this.x = x == null ? 0 : x;
@@ -11401,10 +11431,10 @@ var LinearGradient$2 = function(x, y, x2, y2, colorStops, globalCoord) {
 LinearGradient$2.prototype = {
   constructor: LinearGradient$2
 };
-zrUtil$e.inherits(LinearGradient$2, Gradient$2);
-var _default$w = LinearGradient$2;
-var LinearGradient_1 = _default$w;
-var zrUtil$d = util$8;
+zrUtil$c.inherits(LinearGradient$2, Gradient$2);
+var _default$t = LinearGradient$2;
+var LinearGradient_1 = _default$t;
+var zrUtil$b = util$8;
 var Gradient$1 = Gradient_1;
 var RadialGradient$1 = function(x, y, r2, colorStops, globalCoord) {
   this.x = x == null ? 0.5 : x;
@@ -11417,9 +11447,9 @@ var RadialGradient$1 = function(x, y, r2, colorStops, globalCoord) {
 RadialGradient$1.prototype = {
   constructor: RadialGradient$1
 };
-zrUtil$d.inherits(RadialGradient$1, Gradient$1);
-var _default$v = RadialGradient$1;
-var RadialGradient_1 = _default$v;
+zrUtil$b.inherits(RadialGradient$1, Gradient$1);
+var _default$s = RadialGradient$1;
+var RadialGradient_1 = _default$s;
 var _util$a = util$8;
 var inherits$1 = _util$a.inherits;
 var Displayble = Displayable_1;
@@ -11523,13 +11553,13 @@ IncrementalDisplayble.prototype.contain = function(x, y) {
   return false;
 };
 inherits$1(IncrementalDisplayble, Displayble);
-var _default$u = IncrementalDisplayble;
-var IncrementalDisplayable$1 = _default$u;
-var zrUtil$c = util$8;
+var _default$r = IncrementalDisplayble;
+var IncrementalDisplayable$1 = _default$r;
+var zrUtil$a = util$8;
 var pathTool = path$1;
 var colorTool = color$1;
-var matrix$1 = matrix$4;
-var vector = vector$2;
+var matrix$1 = requireMatrix();
+var vector = requireVector();
 var Path$2 = Path_1;
 var Transformable = Transformable_1;
 var ZImage$1 = Image$2;
@@ -11666,7 +11696,7 @@ var subPixelOptimize = subPixelOptimizeUtil.subPixelOptimize;
 function hasFillOrStroke(fillOrStroke) {
   return fillOrStroke != null && fillOrStroke !== "none";
 }
-var liftedColorMap = zrUtil$c.createHashMap();
+var liftedColorMap = zrUtil$a.createHashMap();
 var liftedColorCount = 0;
 function liftColor(color2) {
   if (typeof color2 !== "string") {
@@ -11840,11 +11870,11 @@ function setLabelStyle(normalStyle, emphasisStyle, normalModel, emphasisModel, o
       baseText = labelFetcher.getFormattedLabel(labelDataIndex, "normal", null, labelDimIndex, labelProp);
     }
     if (baseText == null) {
-      baseText = zrUtil$c.isFunction(opt.defaultText) ? opt.defaultText(labelDataIndex, opt) : opt.defaultText;
+      baseText = zrUtil$a.isFunction(opt.defaultText) ? opt.defaultText(labelDataIndex, opt) : opt.defaultText;
     }
   }
   var normalStyleText = showNormal ? baseText : null;
-  var emphasisStyleText = showEmphasis ? zrUtil$c.retrieve2(labelFetcher ? labelFetcher.getFormattedLabel(labelDataIndex, "emphasis", null, labelDimIndex, labelProp) : null, baseText) : null;
+  var emphasisStyleText = showEmphasis ? zrUtil$a.retrieve2(labelFetcher ? labelFetcher.getFormattedLabel(labelDataIndex, "emphasis", null, labelDimIndex, labelProp) : null, baseText) : null;
   if (normalStyleText != null || emphasisStyleText != null) {
     setTextStyle(normalStyle, normalModel, normalSpecified, opt);
     setTextStyle(emphasisStyle, emphasisModel, emphasisSpecified, opt, true);
@@ -11862,13 +11892,13 @@ function modifyLabelStyle(el, normalStyleProps, emphasisStyleProps) {
   elStyle = el.__hoverStl;
   if (emphasisStyleProps && elStyle) {
     rollbackDefaultTextStyle(elStyle);
-    zrUtil$c.extend(elStyle, emphasisStyleProps);
+    zrUtil$a.extend(elStyle, emphasisStyleProps);
     applyDefaultTextStyle(elStyle);
   }
 }
 function setTextStyle(textStyle2, textStyleModel, specifiedTextStyle, opt, isEmphasis) {
   setTextStyleCommon(textStyle2, textStyleModel, opt, isEmphasis);
-  specifiedTextStyle && zrUtil$c.extend(textStyle2, specifiedTextStyle);
+  specifiedTextStyle && zrUtil$a.extend(textStyle2, specifiedTextStyle);
   return textStyle2;
 }
 function setText(textStyle2, labelModel, defaultColor) {
@@ -11898,7 +11928,7 @@ function setTextStyleCommon(textStyle2, textStyleModel, opt, isEmphasis) {
     var labelRotate = textStyleModel.getShallow("rotate");
     labelRotate != null && (labelRotate *= Math.PI / 180);
     textStyle2.textRotation = labelRotate;
-    textStyle2.textDistance = zrUtil$c.retrieve2(textStyleModel.getShallow("distance"), isEmphasis ? null : 5);
+    textStyle2.textDistance = zrUtil$a.retrieve2(textStyleModel.getShallow("distance"), isEmphasis ? null : 5);
   }
   var ecModel = textStyleModel.ecModel;
   var globalTextStyle = ecModel && ecModel.option.textStyle;
@@ -11940,7 +11970,7 @@ function setTokenTextStyle(textStyle2, textStyleModel, globalTextStyle, opt, isE
   globalTextStyle = !isEmphasis && globalTextStyle || EMPTY_OBJ;
   textStyle2.textFill = getAutoColor(textStyleModel.getShallow("color"), opt) || globalTextStyle.color;
   textStyle2.textStroke = getAutoColor(textStyleModel.getShallow("textBorderColor"), opt) || globalTextStyle.textBorderColor;
-  textStyle2.textStrokeWidth = zrUtil$c.retrieve2(textStyleModel.getShallow("textBorderWidth"), globalTextStyle.textBorderWidth);
+  textStyle2.textStrokeWidth = zrUtil$a.retrieve2(textStyleModel.getShallow("textBorderWidth"), globalTextStyle.textBorderWidth);
   if (!isEmphasis) {
     if (isBlock) {
       textStyle2.insideRollbackOpt = opt;
@@ -12020,7 +12050,7 @@ function rollbackDefaultTextStyle(style2) {
 }
 function getFont(opt, ecModel) {
   var gTextStyleModel = ecModel && ecModel.getModel("textStyle");
-  return zrUtil$c.trim([
+  return zrUtil$a.trim([
     // FIXME in node-canvas fontWeight is before fontStyle
     opt.fontStyle || gTextStyleModel && gTextStyleModel.getShallow("fontStyle") || "",
     opt.fontWeight || gTextStyleModel && gTextStyleModel.getShallow("fontWeight") || "",
@@ -12066,20 +12096,20 @@ function getTransform(target, ancestor) {
   }
   return mat;
 }
-function applyTransform(target, transform2, invert2) {
-  if (transform2 && !zrUtil$c.isArrayLike(transform2)) {
+function applyTransform(target, transform2, invert) {
+  if (transform2 && !zrUtil$a.isArrayLike(transform2)) {
     transform2 = Transformable.getLocalTransform(transform2);
   }
-  if (invert2) {
+  if (invert) {
     transform2 = matrix$1.invert([], transform2);
   }
   return vector.applyTransform([], target, transform2);
 }
-function transformDirection(direction, transform2, invert2) {
+function transformDirection(direction, transform2, invert) {
   var hBase = transform2[4] === 0 || transform2[5] === 0 || transform2[0] === 0 ? 1 : Math.abs(2 * transform2[4] / transform2[0]);
   var vBase = transform2[4] === 0 || transform2[5] === 0 || transform2[2] === 0 ? 1 : Math.abs(2 * transform2[4] / transform2[2]);
   var vertex = [direction === "left" ? -hBase : direction === "right" ? hBase : 0, direction === "top" ? -vBase : direction === "bottom" ? vBase : 0];
-  vertex = applyTransform(vertex, transform2, invert2);
+  vertex = applyTransform(vertex, transform2, invert);
   return Math.abs(vertex[0]) > Math.abs(vertex[1]) ? vertex[0] > 0 ? "right" : "left" : vertex[1] > 0 ? "bottom" : "top";
 }
 function groupTransition(g1, g2, animatableModel, cb) {
@@ -12101,7 +12131,7 @@ function groupTransition(g1, g2, animatableModel, cb) {
       rotation: el.rotation
     };
     if (el.shape) {
-      obj.shape = zrUtil$c.extend({}, el.shape);
+      obj.shape = zrUtil$a.extend({}, el.shape);
     }
     return obj;
   }
@@ -12118,7 +12148,7 @@ function groupTransition(g1, g2, animatableModel, cb) {
   });
 }
 function clipPointsByRect(points2, rect) {
-  return zrUtil$c.map(points2, function(point) {
+  return zrUtil$a.map(points2, function(point) {
     var x = point[0];
     x = mathMax(x, rect.x);
     x = mathMin(x, rect.x + rect.width);
@@ -12143,7 +12173,7 @@ function clipRectByRect(targetRect, rect) {
   }
 }
 function createIcon(iconStr, opt, rect) {
-  opt = zrUtil$c.extend({
+  opt = zrUtil$a.extend({
     rectHover: true
   }, opt);
   var style2 = opt.style = {
@@ -12156,7 +12186,7 @@ function createIcon(iconStr, opt, rect) {
     height: 2
   };
   if (iconStr) {
-    return iconStr.indexOf("image://") === 0 ? (style2.image = iconStr.slice(8), zrUtil$c.defaults(style2, rect), new ZImage$1(opt)) : makePath(iconStr.replace("path://", ""), opt, rect, "center");
+    return iconStr.indexOf("image://") === 0 ? (style2.image = iconStr.slice(8), zrUtil$a.defaults(style2, rect), new ZImage$1(opt)) : makePath(iconStr.replace("path://", ""), opt, rect, "center");
   }
 }
 function linePolygonIntersect(a1x, a1y, a2x, a2y, points2) {
@@ -12238,187 +12268,211 @@ graphic$4.clipRectByRect = clipRectByRect;
 graphic$4.createIcon = createIcon;
 graphic$4.linePolygonIntersect = linePolygonIntersect;
 graphic$4.lineLineIntersect = lineLineIntersect;
-var textContain$2 = text;
-var graphicUtil$1 = graphic$4;
-var PATH_COLOR = ["textStyle", "color"];
-var _default$t = {
-  /**
-   * Get color property or get color from option.textStyle.color
-   * @param {boolean} [isEmphasis]
-   * @return {string}
-   */
-  getTextColor: function(isEmphasis) {
-    var ecModel = this.ecModel;
-    return this.getShallow("color") || (!isEmphasis && ecModel ? ecModel.get(PATH_COLOR) : null);
-  },
-  /**
-   * Create font string from fontStyle, fontWeight, fontSize, fontFamily
-   * @return {string}
-   */
-  getFont: function() {
-    return graphicUtil$1.getFont({
-      fontStyle: this.getShallow("fontStyle"),
-      fontWeight: this.getShallow("fontWeight"),
-      fontSize: this.getShallow("fontSize"),
-      fontFamily: this.getShallow("fontFamily")
-    }, this.ecModel);
-  },
-  getTextRect: function(text2) {
-    return textContain$2.getBoundingRect(text2, this.getFont(), this.getShallow("align"), this.getShallow("verticalAlign") || this.getShallow("baseline"), this.getShallow("padding"), this.getShallow("lineHeight"), this.getShallow("rich"), this.getShallow("truncateText"));
-  }
-};
-var textStyle = _default$t;
-var makeStyleMapper = makeStyleMapper$3;
-var getItemStyle = makeStyleMapper([["fill", "color"], ["stroke", "borderColor"], ["lineWidth", "borderWidth"], ["opacity"], ["shadowBlur"], ["shadowOffsetX"], ["shadowOffsetY"], ["shadowColor"], ["textPosition"], ["textAlign"]]);
-var _default$s = {
-  getItemStyle: function(excludes, includes) {
-    var style2 = getItemStyle(this, excludes, includes);
-    var lineDash = this.getBorderLineDash();
-    lineDash && (style2.lineDash = lineDash);
-    return style2;
-  },
-  getBorderLineDash: function() {
-    var lineType = this.get("borderType");
-    return lineType === "solid" || lineType == null ? null : lineType === "dashed" ? [5, 5] : [1, 1];
-  }
-};
-var itemStyle = _default$s;
-var zrUtil$b = util$8;
-var env$1 = env_1;
-var _model$7 = model;
-var makeInner$3 = _model$7.makeInner;
-var _clazz$2 = clazz;
-var enableClassExtend = _clazz$2.enableClassExtend;
-var enableClassCheck = _clazz$2.enableClassCheck;
-var lineStyleMixin = lineStyle;
-var areaStyleMixin = areaStyle;
-var textStyleMixin = textStyle;
-var itemStyleMixin = itemStyle;
-var mixin$1 = zrUtil$b.mixin;
-var inner$4 = makeInner$3();
-function Model$2(option, parentModel, ecModel) {
-  this.parentModel = parentModel;
-  this.ecModel = ecModel;
-  this.option = option;
-}
-Model$2.prototype = {
-  constructor: Model$2,
-  /**
-   * Model 的初始化函数
-   * @param {Object} option
-   */
-  init: null,
-  /**
-   * 从新的 Option merge
-   */
-  mergeOption: function(option) {
-    zrUtil$b.merge(this.option, option, true);
-  },
-  /**
-   * @param {string|Array.<string>} path
-   * @param {boolean} [ignoreParent=false]
-   * @return {*}
-   */
-  get: function(path2, ignoreParent) {
-    if (path2 == null) {
-      return this.option;
-    }
-    return doGet(this.option, this.parsePath(path2), !ignoreParent && getParent(this, path2));
-  },
-  /**
-   * @param {string} key
-   * @param {boolean} [ignoreParent=false]
-   * @return {*}
-   */
-  getShallow: function(key2, ignoreParent) {
-    var option = this.option;
-    var val = option == null ? option : option[key2];
-    var parentModel = !ignoreParent && getParent(this, key2);
-    if (val == null && parentModel) {
-      val = parentModel.getShallow(key2);
+var textStyle;
+var hasRequiredTextStyle;
+function requireTextStyle() {
+  if (hasRequiredTextStyle)
+    return textStyle;
+  hasRequiredTextStyle = 1;
+  var textContain2 = text;
+  var graphicUtil2 = graphic$4;
+  var PATH_COLOR = ["textStyle", "color"];
+  var _default68 = {
+    /**
+     * Get color property or get color from option.textStyle.color
+     * @param {boolean} [isEmphasis]
+     * @return {string}
+     */
+    getTextColor: function(isEmphasis) {
+      var ecModel = this.ecModel;
+      return this.getShallow("color") || (!isEmphasis && ecModel ? ecModel.get(PATH_COLOR) : null);
+    },
+    /**
+     * Create font string from fontStyle, fontWeight, fontSize, fontFamily
+     * @return {string}
+     */
+    getFont: function() {
+      return graphicUtil2.getFont({
+        fontStyle: this.getShallow("fontStyle"),
+        fontWeight: this.getShallow("fontWeight"),
+        fontSize: this.getShallow("fontSize"),
+        fontFamily: this.getShallow("fontFamily")
+      }, this.ecModel);
+    },
+    getTextRect: function(text2) {
+      return textContain2.getBoundingRect(text2, this.getFont(), this.getShallow("align"), this.getShallow("verticalAlign") || this.getShallow("baseline"), this.getShallow("padding"), this.getShallow("lineHeight"), this.getShallow("rich"), this.getShallow("truncateText"));
     }
-    return val;
-  },
-  /**
-   * @param {string|Array.<string>} [path]
-   * @param {module:echarts/model/Model} [parentModel]
-   * @return {module:echarts/model/Model}
-   */
-  getModel: function(path2, parentModel) {
-    var obj = path2 == null ? this.option : doGet(this.option, path2 = this.parsePath(path2));
-    var thisParentModel;
-    parentModel = parentModel || (thisParentModel = getParent(this, path2)) && thisParentModel.getModel(path2);
-    return new Model$2(obj, parentModel, this.ecModel);
-  },
-  /**
-   * If model has option
-   */
-  isEmpty: function() {
-    return this.option == null;
-  },
-  restoreData: function() {
-  },
-  // Pending
-  clone: function() {
-    var Ctor = this.constructor;
-    return new Ctor(zrUtil$b.clone(this.option));
-  },
-  setReadOnly: function(properties) {
-  },
-  // If path is null/undefined, return null/undefined.
-  parsePath: function(path2) {
-    if (typeof path2 === "string") {
-      path2 = path2.split(".");
+  };
+  textStyle = _default68;
+  return textStyle;
+}
+var itemStyle;
+var hasRequiredItemStyle;
+function requireItemStyle() {
+  if (hasRequiredItemStyle)
+    return itemStyle;
+  hasRequiredItemStyle = 1;
+  var makeStyleMapper2 = requireMakeStyleMapper();
+  var getItemStyle = makeStyleMapper2([["fill", "color"], ["stroke", "borderColor"], ["lineWidth", "borderWidth"], ["opacity"], ["shadowBlur"], ["shadowOffsetX"], ["shadowOffsetY"], ["shadowColor"], ["textPosition"], ["textAlign"]]);
+  var _default68 = {
+    getItemStyle: function(excludes, includes) {
+      var style2 = getItemStyle(this, excludes, includes);
+      var lineDash = this.getBorderLineDash();
+      lineDash && (style2.lineDash = lineDash);
+      return style2;
+    },
+    getBorderLineDash: function() {
+      var lineType = this.get("borderType");
+      return lineType === "solid" || lineType == null ? null : lineType === "dashed" ? [5, 5] : [1, 1];
     }
-    return path2;
-  },
-  /**
-   * @param {Function} getParentMethod
-   *        param {Array.<string>|string} path
-   *        return {module:echarts/model/Model}
-   */
-  customizeGetParent: function(getParentMethod) {
-    inner$4(this).getParent = getParentMethod;
-  },
-  isAnimationEnabled: function() {
-    if (!env$1.node) {
-      if (this.option.animation != null) {
-        return !!this.option.animation;
-      } else if (this.parentModel) {
-        return this.parentModel.isAnimationEnabled();
+  };
+  itemStyle = _default68;
+  return itemStyle;
+}
+var Model_1;
+var hasRequiredModel;
+function requireModel() {
+  if (hasRequiredModel)
+    return Model_1;
+  hasRequiredModel = 1;
+  var zrUtil2 = util$8;
+  var env2 = env_1;
+  var _model2 = model;
+  var makeInner2 = _model2.makeInner;
+  var _clazz2 = clazz;
+  var enableClassExtend2 = _clazz2.enableClassExtend;
+  var enableClassCheck2 = _clazz2.enableClassCheck;
+  var lineStyleMixin = requireLineStyle();
+  var areaStyleMixin = requireAreaStyle();
+  var textStyleMixin = requireTextStyle();
+  var itemStyleMixin = requireItemStyle();
+  var mixin2 = zrUtil2.mixin;
+  var inner2 = makeInner2();
+  function Model2(option, parentModel, ecModel) {
+    this.parentModel = parentModel;
+    this.ecModel = ecModel;
+    this.option = option;
+  }
+  Model2.prototype = {
+    constructor: Model2,
+    /**
+     * Model 的初始化函数
+     * @param {Object} option
+     */
+    init: null,
+    /**
+     * 从新的 Option merge
+     */
+    mergeOption: function(option) {
+      zrUtil2.merge(this.option, option, true);
+    },
+    /**
+     * @param {string|Array.<string>} path
+     * @param {boolean} [ignoreParent=false]
+     * @return {*}
+     */
+    get: function(path2, ignoreParent) {
+      if (path2 == null) {
+        return this.option;
+      }
+      return doGet(this.option, this.parsePath(path2), !ignoreParent && getParent(this, path2));
+    },
+    /**
+     * @param {string} key
+     * @param {boolean} [ignoreParent=false]
+     * @return {*}
+     */
+    getShallow: function(key2, ignoreParent) {
+      var option = this.option;
+      var val = option == null ? option : option[key2];
+      var parentModel = !ignoreParent && getParent(this, key2);
+      if (val == null && parentModel) {
+        val = parentModel.getShallow(key2);
+      }
+      return val;
+    },
+    /**
+     * @param {string|Array.<string>} [path]
+     * @param {module:echarts/model/Model} [parentModel]
+     * @return {module:echarts/model/Model}
+     */
+    getModel: function(path2, parentModel) {
+      var obj = path2 == null ? this.option : doGet(this.option, path2 = this.parsePath(path2));
+      var thisParentModel;
+      parentModel = parentModel || (thisParentModel = getParent(this, path2)) && thisParentModel.getModel(path2);
+      return new Model2(obj, parentModel, this.ecModel);
+    },
+    /**
+     * If model has option
+     */
+    isEmpty: function() {
+      return this.option == null;
+    },
+    restoreData: function() {
+    },
+    // Pending
+    clone: function() {
+      var Ctor = this.constructor;
+      return new Ctor(zrUtil2.clone(this.option));
+    },
+    setReadOnly: function(properties) {
+    },
+    // If path is null/undefined, return null/undefined.
+    parsePath: function(path2) {
+      if (typeof path2 === "string") {
+        path2 = path2.split(".");
+      }
+      return path2;
+    },
+    /**
+     * @param {Function} getParentMethod
+     *        param {Array.<string>|string} path
+     *        return {module:echarts/model/Model}
+     */
+    customizeGetParent: function(getParentMethod) {
+      inner2(this).getParent = getParentMethod;
+    },
+    isAnimationEnabled: function() {
+      if (!env2.node) {
+        if (this.option.animation != null) {
+          return !!this.option.animation;
+        } else if (this.parentModel) {
+          return this.parentModel.isAnimationEnabled();
+        }
       }
     }
-  }
-};
-function doGet(obj, pathArr, parentModel) {
-  for (var i2 = 0; i2 < pathArr.length; i2++) {
-    if (!pathArr[i2]) {
-      continue;
+  };
+  function doGet(obj, pathArr, parentModel) {
+    for (var i2 = 0; i2 < pathArr.length; i2++) {
+      if (!pathArr[i2]) {
+        continue;
+      }
+      obj = obj && typeof obj === "object" ? obj[pathArr[i2]] : null;
+      if (obj == null) {
+        break;
+      }
     }
-    obj = obj && typeof obj === "object" ? obj[pathArr[i2]] : null;
-    if (obj == null) {
-      break;
+    if (obj == null && parentModel) {
+      obj = parentModel.get(pathArr);
     }
+    return obj;
   }
-  if (obj == null && parentModel) {
-    obj = parentModel.get(pathArr);
+  function getParent(model2, path2) {
+    var getParentMethod = inner2(model2).getParent;
+    return getParentMethod ? getParentMethod.call(model2, path2) : model2.parentModel;
   }
-  return obj;
+  enableClassExtend2(Model2);
+  enableClassCheck2(Model2);
+  mixin2(Model2, lineStyleMixin);
+  mixin2(Model2, areaStyleMixin);
+  mixin2(Model2, textStyleMixin);
+  mixin2(Model2, itemStyleMixin);
+  var _default68 = Model2;
+  Model_1 = _default68;
+  return Model_1;
 }
-function getParent(model2, path2) {
-  var getParentMethod = inner$4(model2).getParent;
-  return getParentMethod ? getParentMethod.call(model2, path2) : model2.parentModel;
-}
-enableClassExtend(Model$2);
-enableClassCheck(Model$2);
-mixin$1(Model$2, lineStyleMixin);
-mixin$1(Model$2, areaStyleMixin);
-mixin$1(Model$2, textStyleMixin);
-mixin$1(Model$2, itemStyleMixin);
-var _default$r = Model$2;
-var Model_1 = _default$r;
 var component = {};
-var zrUtil$a = util$8;
+var zrUtil$9 = util$8;
 var _clazz$1 = clazz;
 var parseClassType$1 = _clazz$1.parseClassType;
 var base = 0;
@@ -12452,7 +12506,7 @@ function enableTopologicalTravel(entity, dependencyGetter) {
     var graph2 = result.graph;
     var stack = result.noEntryList;
     var targetNameSet = {};
-    zrUtil$a.each(targetNameList, function(name2) {
+    zrUtil$9.each(targetNameList, function(name2) {
       targetNameSet[name2] = true;
     });
     while (stack.length) {
@@ -12463,9 +12517,9 @@ function enableTopologicalTravel(entity, dependencyGetter) {
         callback.call(context, currComponentType, currVertex.originalDeps.slice());
         delete targetNameSet[currComponentType];
       }
-      zrUtil$a.each(currVertex.successor, isInTargetNameSet ? removeEdgeAndAdd : removeEdge);
+      zrUtil$9.each(currVertex.successor, isInTargetNameSet ? removeEdgeAndAdd : removeEdge);
     }
-    zrUtil$a.each(targetNameSet, function() {
+    zrUtil$9.each(targetNameSet, function() {
       throw new Error("Circle dependency may exists");
     });
     function removeEdge(succComponentType) {
@@ -12482,7 +12536,7 @@ function enableTopologicalTravel(entity, dependencyGetter) {
   function makeDepndencyGraph(fullNameList) {
     var graph2 = {};
     var noEntryList = [];
-    zrUtil$a.each(fullNameList, function(name2) {
+    zrUtil$9.each(fullNameList, function(name2) {
       var thisItem = createDependencyGraphItem(graph2, name2);
       var originalDeps = thisItem.originalDeps = dependencyGetter(name2);
       var availableDeps = getAvailableDependencies(originalDeps, fullNameList);
@@ -12490,12 +12544,12 @@ function enableTopologicalTravel(entity, dependencyGetter) {
       if (thisItem.entryCount === 0) {
         noEntryList.push(name2);
       }
-      zrUtil$a.each(availableDeps, function(dependentName) {
-        if (zrUtil$a.indexOf(thisItem.predecessor, dependentName) < 0) {
+      zrUtil$9.each(availableDeps, function(dependentName) {
+        if (zrUtil$9.indexOf(thisItem.predecessor, dependentName) < 0) {
           thisItem.predecessor.push(dependentName);
         }
         var thatItem = createDependencyGraphItem(graph2, dependentName);
-        if (zrUtil$a.indexOf(thatItem.successor, dependentName) < 0) {
+        if (zrUtil$9.indexOf(thatItem.successor, dependentName) < 0) {
           thatItem.successor.push(name2);
         }
       });
@@ -12516,8 +12570,8 @@ function enableTopologicalTravel(entity, dependencyGetter) {
   }
   function getAvailableDependencies(originalDeps, fullNameList) {
     var availableDeps = [];
-    zrUtil$a.each(originalDeps, function(dep) {
-      zrUtil$a.indexOf(fullNameList, dep) >= 0 && availableDeps.push(dep);
+    zrUtil$9.each(originalDeps, function(dep) {
+      zrUtil$9.indexOf(fullNameList, dep) >= 0 && availableDeps.push(dep);
     });
     return availableDeps;
   }
@@ -12663,7 +12717,7 @@ function requireNumber() {
     while (currentSum < targetSeats) {
       var max3 = Number.NEGATIVE_INFINITY;
       var maxId = null;
-      for (var i2 = 0, len2 = remainder.length; i2 < len2; ++i2) {
+      for (var i2 = 0, len = remainder.length; i2 < len; ++i2) {
         if (remainder[i2] > max3) {
           max3 = remainder[i2];
           maxId = i2;
@@ -12811,152 +12865,159 @@ function requireNumber() {
   return number;
 }
 var format$4 = {};
-var zrUtil$9 = util$8;
-var textContain$1 = text;
-var numberUtil = requireNumber();
-function addCommas$1(x) {
-  if (isNaN(x)) {
-    return "-";
-  }
-  x = (x + "").split(".");
-  return x[0].replace(/(\d{1,3})(?=(?:\d{3})+(?!\d))/g, "$1,") + (x.length > 1 ? "." + x[1] : "");
-}
-function toCamelCase$1(str, upperCaseFirst) {
-  str = (str || "").toLowerCase().replace(/-(.)/g, function(match, group1) {
-    return group1.toUpperCase();
-  });
-  if (upperCaseFirst && str) {
-    str = str.charAt(0).toUpperCase() + str.slice(1);
-  }
-  return str;
-}
-var normalizeCssArray = zrUtil$9.normalizeCssArray;
-var replaceReg = /([&<>"'])/g;
-var replaceMap = {
-  "&": "&amp;",
-  "<": "&lt;",
-  ">": "&gt;",
-  '"': "&quot;",
-  "'": "&#39;"
-};
-function encodeHTML$1(source) {
-  return source == null ? "" : (source + "").replace(replaceReg, function(str, c2) {
-    return replaceMap[c2];
-  });
-}
-var TPL_VAR_ALIAS = ["a", "b", "c", "d", "e", "f", "g"];
-var wrapVar = function(varName, seriesIdx) {
-  return "{" + varName + (seriesIdx == null ? "" : seriesIdx) + "}";
-};
-function formatTpl$1(tpl, paramsList, encode2) {
-  if (!zrUtil$9.isArray(paramsList)) {
-    paramsList = [paramsList];
-  }
-  var seriesLen = paramsList.length;
-  if (!seriesLen) {
-    return "";
-  }
-  var $vars = paramsList[0].$vars || [];
-  for (var i2 = 0; i2 < $vars.length; i2++) {
-    var alias = TPL_VAR_ALIAS[i2];
-    tpl = tpl.replace(wrapVar(alias), wrapVar(alias, 0));
-  }
-  for (var seriesIdx = 0; seriesIdx < seriesLen; seriesIdx++) {
-    for (var k = 0; k < $vars.length; k++) {
-      var val = paramsList[seriesIdx][$vars[k]];
-      tpl = tpl.replace(wrapVar(TPL_VAR_ALIAS[k], seriesIdx), encode2 ? encodeHTML$1(val) : val);
+var hasRequiredFormat;
+function requireFormat() {
+  if (hasRequiredFormat)
+    return format$4;
+  hasRequiredFormat = 1;
+  var zrUtil2 = util$8;
+  var textContain2 = text;
+  var numberUtil = requireNumber();
+  function addCommas2(x) {
+    if (isNaN(x)) {
+      return "-";
     }
+    x = (x + "").split(".");
+    return x[0].replace(/(\d{1,3})(?=(?:\d{3})+(?!\d))/g, "$1,") + (x.length > 1 ? "." + x[1] : "");
   }
-  return tpl;
-}
-function formatTplSimple(tpl, param2, encode2) {
-  zrUtil$9.each(param2, function(value, key2) {
-    tpl = tpl.replace("{" + key2 + "}", encode2 ? encodeHTML$1(value) : value);
-  });
-  return tpl;
-}
-function getTooltipMarker$2(opt, extraCssText) {
-  opt = zrUtil$9.isString(opt) ? {
-    color: opt,
-    extraCssText
-  } : opt || {};
-  var color2 = opt.color;
-  var type2 = opt.type;
-  var extraCssText = opt.extraCssText;
-  var renderMode = opt.renderMode || "html";
-  var markerId = opt.markerId || "X";
-  if (!color2) {
-    return "";
+  function toCamelCase2(str, upperCaseFirst) {
+    str = (str || "").toLowerCase().replace(/-(.)/g, function(match, group1) {
+      return group1.toUpperCase();
+    });
+    if (upperCaseFirst && str) {
+      str = str.charAt(0).toUpperCase() + str.slice(1);
+    }
+    return str;
+  }
+  var normalizeCssArray2 = zrUtil2.normalizeCssArray;
+  var replaceReg = /([&<>"'])/g;
+  var replaceMap = {
+    "&": "&amp;",
+    "<": "&lt;",
+    ">": "&gt;",
+    '"': "&quot;",
+    "'": "&#39;"
+  };
+  function encodeHTML2(source) {
+    return source == null ? "" : (source + "").replace(replaceReg, function(str, c2) {
+      return replaceMap[c2];
+    });
   }
-  if (renderMode === "html") {
-    return type2 === "subItem" ? '<span style="display:inline-block;vertical-align:middle;margin-right:8px;margin-left:3px;border-radius:4px;width:4px;height:4px;background-color:' + encodeHTML$1(color2) + ";" + (extraCssText || "") + '"></span>' : '<span style="display:inline-block;margin-right:5px;border-radius:10px;width:10px;height:10px;background-color:' + encodeHTML$1(color2) + ";" + (extraCssText || "") + '"></span>';
-  } else {
-    return {
-      renderMode,
-      content: "{marker" + markerId + "|}  ",
-      style: {
-        color: color2
+  var TPL_VAR_ALIAS = ["a", "b", "c", "d", "e", "f", "g"];
+  var wrapVar = function(varName, seriesIdx) {
+    return "{" + varName + (seriesIdx == null ? "" : seriesIdx) + "}";
+  };
+  function formatTpl2(tpl, paramsList, encode2) {
+    if (!zrUtil2.isArray(paramsList)) {
+      paramsList = [paramsList];
+    }
+    var seriesLen = paramsList.length;
+    if (!seriesLen) {
+      return "";
+    }
+    var $vars = paramsList[0].$vars || [];
+    for (var i2 = 0; i2 < $vars.length; i2++) {
+      var alias = TPL_VAR_ALIAS[i2];
+      tpl = tpl.replace(wrapVar(alias), wrapVar(alias, 0));
+    }
+    for (var seriesIdx = 0; seriesIdx < seriesLen; seriesIdx++) {
+      for (var k = 0; k < $vars.length; k++) {
+        var val = paramsList[seriesIdx][$vars[k]];
+        tpl = tpl.replace(wrapVar(TPL_VAR_ALIAS[k], seriesIdx), encode2 ? encodeHTML2(val) : val);
       }
-    };
+    }
+    return tpl;
   }
+  function formatTplSimple(tpl, param2, encode2) {
+    zrUtil2.each(param2, function(value, key2) {
+      tpl = tpl.replace("{" + key2 + "}", encode2 ? encodeHTML2(value) : value);
+    });
+    return tpl;
+  }
+  function getTooltipMarker2(opt, extraCssText) {
+    opt = zrUtil2.isString(opt) ? {
+      color: opt,
+      extraCssText
+    } : opt || {};
+    var color2 = opt.color;
+    var type2 = opt.type;
+    var extraCssText = opt.extraCssText;
+    var renderMode = opt.renderMode || "html";
+    var markerId = opt.markerId || "X";
+    if (!color2) {
+      return "";
+    }
+    if (renderMode === "html") {
+      return type2 === "subItem" ? '<span style="display:inline-block;vertical-align:middle;margin-right:8px;margin-left:3px;border-radius:4px;width:4px;height:4px;background-color:' + encodeHTML2(color2) + ";" + (extraCssText || "") + '"></span>' : '<span style="display:inline-block;margin-right:5px;border-radius:10px;width:10px;height:10px;background-color:' + encodeHTML2(color2) + ";" + (extraCssText || "") + '"></span>';
+    } else {
+      return {
+        renderMode,
+        content: "{marker" + markerId + "|}  ",
+        style: {
+          color: color2
+        }
+      };
+    }
+  }
+  function pad2(str, len) {
+    str += "";
+    return "0000".substr(0, len - str.length) + str;
+  }
+  function formatTime2(tpl, value, isUTC) {
+    if (tpl === "week" || tpl === "month" || tpl === "quarter" || tpl === "half-year" || tpl === "year") {
+      tpl = "MM-dd\nyyyy";
+    }
+    var date = numberUtil.parseDate(value);
+    var utc = isUTC ? "UTC" : "";
+    var y = date["get" + utc + "FullYear"]();
+    var M = date["get" + utc + "Month"]() + 1;
+    var d2 = date["get" + utc + "Date"]();
+    var h3 = date["get" + utc + "Hours"]();
+    var m2 = date["get" + utc + "Minutes"]();
+    var s2 = date["get" + utc + "Seconds"]();
+    var S = date["get" + utc + "Milliseconds"]();
+    tpl = tpl.replace("MM", pad2(M, 2)).replace("M", M).replace("yyyy", y).replace("yy", y % 100).replace("dd", pad2(d2, 2)).replace("d", d2).replace("hh", pad2(h3, 2)).replace("h", h3).replace("mm", pad2(m2, 2)).replace("m", m2).replace("ss", pad2(s2, 2)).replace("s", s2).replace("SSS", pad2(S, 3));
+    return tpl;
+  }
+  function capitalFirst(str) {
+    return str ? str.charAt(0).toUpperCase() + str.substr(1) : str;
+  }
+  var truncateText2 = textContain2.truncateText;
+  function getTextBoundingRect(opt) {
+    return textContain2.getBoundingRect(opt.text, opt.font, opt.textAlign, opt.textVerticalAlign, opt.textPadding, opt.textLineHeight, opt.rich, opt.truncate);
+  }
+  function getTextRect(text2, font, textAlign, textVerticalAlign, textPadding, rich, truncate2, textLineHeight) {
+    return textContain2.getBoundingRect(text2, font, textAlign, textVerticalAlign, textPadding, textLineHeight, rich, truncate2);
+  }
+  function windowOpen(link, target) {
+    if (target === "_blank" || target === "blank") {
+      var blank = window.open();
+      blank.opener = null;
+      blank.location = link;
+    } else {
+      window.open(link, target);
+    }
+  }
+  format$4.addCommas = addCommas2;
+  format$4.toCamelCase = toCamelCase2;
+  format$4.normalizeCssArray = normalizeCssArray2;
+  format$4.encodeHTML = encodeHTML2;
+  format$4.formatTpl = formatTpl2;
+  format$4.formatTplSimple = formatTplSimple;
+  format$4.getTooltipMarker = getTooltipMarker2;
+  format$4.formatTime = formatTime2;
+  format$4.capitalFirst = capitalFirst;
+  format$4.truncateText = truncateText2;
+  format$4.getTextBoundingRect = getTextBoundingRect;
+  format$4.getTextRect = getTextRect;
+  format$4.windowOpen = windowOpen;
+  return format$4;
 }
-function pad$1(str, len2) {
-  str += "";
-  return "0000".substr(0, len2 - str.length) + str;
-}
-function formatTime$1(tpl, value, isUTC) {
-  if (tpl === "week" || tpl === "month" || tpl === "quarter" || tpl === "half-year" || tpl === "year") {
-    tpl = "MM-dd\nyyyy";
-  }
-  var date = numberUtil.parseDate(value);
-  var utc = isUTC ? "UTC" : "";
-  var y = date["get" + utc + "FullYear"]();
-  var M = date["get" + utc + "Month"]() + 1;
-  var d2 = date["get" + utc + "Date"]();
-  var h3 = date["get" + utc + "Hours"]();
-  var m2 = date["get" + utc + "Minutes"]();
-  var s2 = date["get" + utc + "Seconds"]();
-  var S = date["get" + utc + "Milliseconds"]();
-  tpl = tpl.replace("MM", pad$1(M, 2)).replace("M", M).replace("yyyy", y).replace("yy", y % 100).replace("dd", pad$1(d2, 2)).replace("d", d2).replace("hh", pad$1(h3, 2)).replace("h", h3).replace("mm", pad$1(m2, 2)).replace("m", m2).replace("ss", pad$1(s2, 2)).replace("s", s2).replace("SSS", pad$1(S, 3));
-  return tpl;
-}
-function capitalFirst(str) {
-  return str ? str.charAt(0).toUpperCase() + str.substr(1) : str;
-}
-var truncateText = textContain$1.truncateText;
-function getTextBoundingRect(opt) {
-  return textContain$1.getBoundingRect(opt.text, opt.font, opt.textAlign, opt.textVerticalAlign, opt.textPadding, opt.textLineHeight, opt.rich, opt.truncate);
-}
-function getTextRect(text2, font, textAlign, textVerticalAlign, textPadding, rich, truncate2, textLineHeight) {
-  return textContain$1.getBoundingRect(text2, font, textAlign, textVerticalAlign, textPadding, textLineHeight, rich, truncate2);
-}
-function windowOpen(link, target) {
-  if (target === "_blank" || target === "blank") {
-    var blank = window.open();
-    blank.opener = null;
-    blank.location = link;
-  } else {
-    window.open(link, target);
-  }
-}
-format$4.addCommas = addCommas$1;
-format$4.toCamelCase = toCamelCase$1;
-format$4.normalizeCssArray = normalizeCssArray;
-format$4.encodeHTML = encodeHTML$1;
-format$4.formatTpl = formatTpl$1;
-format$4.formatTplSimple = formatTplSimple;
-format$4.getTooltipMarker = getTooltipMarker$2;
-format$4.formatTime = formatTime$1;
-format$4.capitalFirst = capitalFirst;
-format$4.truncateText = truncateText;
-format$4.getTextBoundingRect = getTextBoundingRect;
-format$4.getTextRect = getTextRect;
-format$4.windowOpen = windowOpen;
 var zrUtil$8 = util$8;
 var BoundingRect = BoundingRect_1;
 var _number$1 = requireNumber();
 var parsePercent = _number$1.parsePercent;
-var formatUtil = format$4;
+var formatUtil = requireFormat();
 var each$b = zrUtil$8.each;
 var LOCATION_PARAMS = ["left", "right", "top", "bottom", "width", "height"];
 var HV_NAMES = [["width", "left", "right"], ["height", "top", "bottom"]];
@@ -13133,8 +13194,8 @@ function mergeLayoutParam$1(targetOption, newOption, opt) {
   !zrUtil$8.isArray(ignoreSize) && (ignoreSize = [ignoreSize, ignoreSize]);
   var hResult = merge2(HV_NAMES[0], 0);
   var vResult = merge2(HV_NAMES[1], 1);
-  copy2(HV_NAMES[0], targetOption, hResult);
-  copy2(HV_NAMES[1], targetOption, vResult);
+  copy(HV_NAMES[0], targetOption, hResult);
+  copy(HV_NAMES[1], targetOption, vResult);
   function merge2(names, hvIdx) {
     var newParams = {};
     var newValueCount = 0;
@@ -13178,7 +13239,7 @@ function mergeLayoutParam$1(targetOption, newOption, opt) {
   function hasValue(obj, name2) {
     return obj[name2] != null && obj[name2] !== "auto";
   }
-  function copy2(names, target, source) {
+  function copy(names, target, source) {
     each$b(names, function(name2) {
       target[name2] = source[name2];
     });
@@ -13219,7 +13280,7 @@ var _default$q = {
 };
 var boxLayout = _default$q;
 var zrUtil$7 = util$8;
-var Model$1 = Model_1;
+var Model$1 = requireModel();
 var componentUtil$2 = component;
 var _clazz = clazz;
 var enableClassManagement = _clazz.enableClassManagement;
@@ -13572,7 +13633,7 @@ function requireSourceHelper() {
       if (data.length === 0) {
         sourceFormat = SOURCE_FORMAT_ARRAY_ROWS2;
       }
-      for (var i2 = 0, len2 = data.length; i2 < len2; i2++) {
+      for (var i2 = 0, len = data.length; i2 < len; i2++) {
         var item = data[i2];
         if (item == null) {
           continue;
@@ -13816,7 +13877,7 @@ function requireSourceHelper() {
       var idxRes0 = {};
       var idxRes1 = {};
       var guessRecords = [];
-      for (var i2 = 0, len2 = Math.min(5, dimCount); i2 < len2; i2++) {
+      for (var i2 = 0, len = Math.min(5, dimCount); i2 < len; i2++) {
         var guessResult = doGuessOrdinal(source.data, sourceFormat, source.seriesLayoutBy, dimensionsDefine, source.startIndex, i2);
         guessRecords.push(guessResult);
         var isPureNumber = guessResult === BE_ORDINAL.Not;
@@ -13967,7 +14028,7 @@ var merge$3 = _util$9.merge;
 var extend$6 = _util$9.extend;
 var mixin = _util$9.mixin;
 var modelUtil$4 = model;
-var Model = Model_1;
+var Model = requireModel();
 var ComponentModel$2 = Component$1;
 var globalDefault = globalDefault$1;
 var colorPaletteMixin$1 = colorPalette$1;
@@ -14586,7 +14647,7 @@ OptionManager.prototype = {
     if (!mediaList.length && !mediaDefault) {
       return result;
     }
-    for (var i2 = 0, len2 = mediaList.length; i2 < len2; i2++) {
+    for (var i2 = 0, len = mediaList.length; i2 < len; i2++) {
       if (applyMediaQuery(mediaList[i2].query, ecWidth, ecHeight)) {
         indices.push(i2);
       }
@@ -14713,7 +14774,7 @@ function compatEC2ItemStyle(opt) {
   if (!itemStyleOpt) {
     return;
   }
-  for (var i2 = 0, len2 = POSSIBLE_STYLES.length; i2 < len2; i2++) {
+  for (var i2 = 0, len = POSSIBLE_STYLES.length; i2 < len; i2++) {
     var styleName = POSSIBLE_STYLES[i2];
     var normalItemStyleOpt = itemStyleOpt.normal;
     var emphasisItemStyleOpt = itemStyleOpt.emphasis;
@@ -14768,7 +14829,7 @@ function compatTextStyle(opt, propName) {
   var labelOptSingle = isObject$4(opt) && opt[propName];
   var textStyle2 = isObject$4(labelOptSingle) && labelOptSingle.textStyle;
   if (textStyle2) {
-    for (var i2 = 0, len2 = modelUtil$2.TEXT_STYLE_OPTIONS.length; i2 < len2; i2++) {
+    for (var i2 = 0, len = modelUtil$2.TEXT_STYLE_OPTIONS.length; i2 < len; i2++) {
       var propName = modelUtil$2.TEXT_STYLE_OPTIONS[i2];
       if (textStyle2.hasOwnProperty(propName)) {
         labelOptSingle[propName] = textStyle2[propName];
@@ -15308,7 +15369,7 @@ dataProvider.retrieveRawValue = retrieveRawValue$3;
 dataProvider.retrieveRawAttr = retrieveRawAttr;
 var _dataProvider$2 = dataProvider;
 var retrieveRawValue$2 = _dataProvider$2.retrieveRawValue;
-var _format$1 = format$4;
+var _format$1 = requireFormat();
 var getTooltipMarker$1 = _format$1.getTooltipMarker;
 var formatTpl = _format$1.formatTpl;
 var _model$2 = model;
@@ -15386,9 +15447,9 @@ var _default$f = {
     } else if (typeof formatter === "string") {
       var str = formatTpl(formatter, params);
       return str.replace(DIMENSION_LABEL_REG, function(origin2, dim) {
-        var len2 = dim.length;
-        if (dim.charAt(0) === "[" && dim.charAt(len2 - 1) === "]") {
-          dim = +dim.slice(1, len2 - 1);
+        var len = dim.length;
+        if (dim.charAt(0) === "[" && dim.charAt(len - 1) === "]") {
+          dim = +dim.slice(1, len - 1);
         }
         return retrieveRawValue$2(data, dataIndex, dim);
       });
@@ -15583,7 +15644,7 @@ taskProto.setOutputEnd = function(end) {
 task.createTask = createTask$3;
 var zrUtil$2 = util$8;
 var env = env_1;
-var _format = format$4;
+var _format = requireFormat();
 var formatTime = _format.formatTime;
 var encodeHTML = _format.encodeHTML;
 var addCommas = _format.addCommas;
@@ -16185,7 +16246,7 @@ function elSetState(el, state, highlightDigit) {
   if (el) {
     el.trigger(state, highlightDigit);
     if (el.isGroup && !graphicUtil.isHighDownDispatcher(el)) {
-      for (var i2 = 0, len2 = el.childCount(); i2 < len2; i2++) {
+      for (var i2 = 0, len = el.childCount(); i2 < len; i2++) {
         elSetState(el.childAt(i2), state, highlightDigit);
       }
     }
@@ -16853,13 +16914,13 @@ function createSeriesStageTask(scheduler, stageHandler, stageHandlerRecord, ecMo
   var seriesType2 = stageHandler.seriesType;
   var getTargetSeries = stageHandler.getTargetSeries;
   if (stageHandler.createOnAllSeries) {
-    ecModel.eachRawSeries(create2);
+    ecModel.eachRawSeries(create);
   } else if (seriesType2) {
-    ecModel.eachRawSeriesByType(seriesType2, create2);
+    ecModel.eachRawSeriesByType(seriesType2, create);
   } else if (getTargetSeries) {
-    getTargetSeries(ecModel, api2).each(create2);
+    getTargetSeries(ecModel, api2).each(create);
   }
-  function create2(seriesModel) {
+  function create(seriesModel) {
     var pipelineId = seriesModel.uid;
     var task2 = seriesTaskMap.get(pipelineId) || seriesTaskMap.set(pipelineId, createTask({
       plan: seriesTaskPlan,
@@ -17237,7 +17298,7 @@ var Polygon = Polygon$2;
 var Polyline = Polyline$2;
 var LinearGradient = LinearGradient_1;
 var Style = Style_1;
-var matrix = matrix$4;
+var matrix = requireMatrix();
 var _path = path$1;
 var createFromString = _path.createFromString;
 var _util$1 = util$8;
@@ -17724,9 +17785,9 @@ function parseStyleAttribute(xmlNode) {
 function makeViewBoxTransform(viewBoxRect, width, height) {
   var scaleX = width / viewBoxRect.width;
   var scaleY = height / viewBoxRect.height;
-  var scale2 = Math.min(scaleX, scaleY);
-  var viewBoxScale = [scale2, scale2];
-  var viewBoxPosition = [-(viewBoxRect.x + viewBoxRect.width / 2) * scale2 + width / 2, -(viewBoxRect.y + viewBoxRect.height / 2) * scale2 + height / 2];
+  var scale = Math.min(scaleX, scaleY);
+  var viewBoxScale = [scale, scale];
+  var viewBoxPosition = [-(viewBoxRect.x + viewBoxRect.width / 2) * scale + width / 2, -(viewBoxRect.y + viewBoxRect.height / 2) * scale + height / 2];
   return {
     scale: viewBoxScale,
     position: viewBoxPosition
@@ -17855,9 +17916,9 @@ function requireDataDiffer() {
         var key2 = oldDataKeyArr[i2];
         var idx = newDataIndexMap[key2];
         if (idx != null) {
-          var len2 = idx.length;
-          if (len2) {
-            len2 === 1 && (newDataIndexMap[key2] = null);
+          var len = idx.length;
+          if (len) {
+            len === 1 && (newDataIndexMap[key2] = null);
             idx = idx.shift();
           } else {
             newDataIndexMap[key2] = null;
@@ -17877,7 +17938,7 @@ function requireDataDiffer() {
           if (!idx.length) {
             this._add && this._add(idx);
           } else {
-            for (var j = 0, len2 = idx.length; j < len2; j++) {
+            for (var j = 0, len = idx.length; j < len; j++) {
               this._add && this._add(idx[j]);
             }
           }
@@ -18014,7 +18075,7 @@ function requireList() {
     return List_1;
   hasRequiredList = 1;
   var zrUtil2 = util$8;
-  var Model2 = Model_1;
+  var Model2 = requireModel();
   var DataDiffer = requireDataDiffer();
   var Source2 = requireSource();
   var _dataProvider2 = dataProvider;
@@ -18415,7 +18476,7 @@ function requireList() {
       idx = dimensions;
       dimensions = this.dimensions;
     }
-    for (var i2 = 0, len2 = dimensions.length; i2 < len2; i2++) {
+    for (var i2 = 0, len = dimensions.length; i2 < len; i2++) {
       values.push(this.get(
         dimensions[i2],
         idx
@@ -18426,7 +18487,7 @@ function requireList() {
   };
   listProto.hasValue = function(idx) {
     var dataDimsOnCoord = this._dimensionsSummary.dataDimsOnCoord;
-    for (var i2 = 0, len2 = dataDimsOnCoord.length; i2 < len2; i2++) {
+    for (var i2 = 0, len = dataDimsOnCoord.length; i2 < len; i2++) {
       if (isNaN(this.get(dataDimsOnCoord[i2], idx))) {
         return false;
       }
@@ -18483,7 +18544,7 @@ function requireList() {
     var dimData = this._storage[dim];
     var sum = 0;
     if (dimData) {
-      for (var i2 = 0, len2 = this.count(); i2 < len2; i2++) {
+      for (var i2 = 0, len = this.count(); i2 < len; i2++) {
         var value = this.get(
           dim,
           i2
@@ -18506,8 +18567,8 @@ function requireList() {
     var sortedDimDataArray = [].concat(dimDataArray).sort(function(a2, b) {
       return a2 - b;
     });
-    var len2 = this.count();
-    return len2 === 0 ? 0 : len2 % 2 === 1 ? sortedDimDataArray[(len2 - 1) / 2] : (sortedDimDataArray[len2 / 2] + sortedDimDataArray[len2 / 2 - 1]) / 2;
+    var len = this.count();
+    return len === 0 ? 0 : len % 2 === 1 ? sortedDimDataArray[(len - 1) / 2] : (sortedDimDataArray[len / 2] + sortedDimDataArray[len / 2 - 1]) / 2;
   };
   listProto.rawIndexOf = function(dim, value) {
     var invertedIndices = dim && this._invertedIndicesMap[dim];
@@ -18518,7 +18579,7 @@ function requireList() {
     return rawIndex;
   };
   listProto.indexOfName = function(name2) {
-    for (var i2 = 0, len2 = this.count(); i2 < len2; i2++) {
+    for (var i2 = 0, len = this.count(); i2 < len; i2++) {
       if (this.getName(i2) === name2) {
         return i2;
       }
@@ -18564,7 +18625,7 @@ function requireList() {
     var minDist = Infinity;
     var minDiff = -1;
     var nearestIndicesLen = 0;
-    for (var i2 = 0, len2 = this.count(); i2 < len2; i2++) {
+    for (var i2 = 0, len = this.count(); i2 < len; i2++) {
       var diff = value - this.get(dim, i2);
       var dist2 = Math.abs(diff);
       if (dist2 <= maxDistance) {
@@ -18735,8 +18796,8 @@ function requireList() {
         var dimStorage = this._storage[dimensions[0]];
         for (var k = 0; k < this._chunkCount; k++) {
           var chunkStorage = dimStorage[k];
-          var len2 = Math.min(this._count - k * this._chunkSize, this._chunkSize);
-          for (var i2 = 0; i2 < len2; i2++) {
+          var len = Math.min(this._count - k * this._chunkSize, this._chunkSize);
+          for (var i2 = 0; i2 < len; i2++) {
             var val = chunkStorage[i2];
             if (val >= min3 && val <= max3 || isNaN(val)) {
               newIndices[offset2++] = idx;
@@ -18753,8 +18814,8 @@ function requireList() {
         for (var k = 0; k < this._chunkCount; k++) {
           var chunkStorage = dimStorage[k];
           var chunkStorage2 = dimStorage2[k];
-          var len2 = Math.min(this._count - k * this._chunkSize, this._chunkSize);
-          for (var i2 = 0; i2 < len2; i2++) {
+          var len = Math.min(this._count - k * this._chunkSize, this._chunkSize);
+          for (var i2 = 0; i2 < len; i2++) {
             var val = chunkStorage[i2];
             var val2 = chunkStorage2[i2];
             if ((val >= min3 && val <= max3 || isNaN(val)) && (val2 >= min22 && val2 <= max22 || isNaN(val2))) {
@@ -18900,14 +18961,14 @@ function requireList() {
     var frameValues = [];
     var frameSize = Math.floor(1 / rate);
     var dimStore = targetStorage[dimension];
-    var len2 = this.count();
+    var len = this.count();
     var chunkSize = this._chunkSize;
     var rawExtentOnDim = list._rawExtent[dimension];
-    var newIndices = new (getIndicesCtor(this))(len2);
+    var newIndices = new (getIndicesCtor(this))(len);
     var offset2 = 0;
-    for (var i2 = 0; i2 < len2; i2 += frameSize) {
-      if (frameSize > len2 - i2) {
-        frameSize = len2 - i2;
+    for (var i2 = 0; i2 < len; i2 += frameSize) {
+      if (frameSize > len - i2) {
+        frameSize = len - i2;
         frameValues.length = frameSize;
       }
       for (var k = 0; k < frameSize; k++) {
@@ -18917,7 +18978,7 @@ function requireList() {
         frameValues[k] = dimStore[originalChunkIndex][originalChunkOffset];
       }
       var value = sampleValue(frameValues);
-      var sampleFrameIdx = this.getRawIndex(Math.min(i2 + sampleIndex(frameValues, value) || 0, len2 - 1));
+      var sampleFrameIdx = this.getRawIndex(Math.min(i2 + sampleIndex(frameValues, value) || 0, len - 1));
       var sampleChunkIndex = Math.floor(sampleFrameIdx / chunkSize);
       var sampleChunkOffset = sampleFrameIdx % chunkSize;
       dimStore[sampleChunkIndex][sampleChunkOffset] = value;
@@ -19780,12 +19841,12 @@ function requireHelper$5() {
   if (hasRequiredHelper$5)
     return helper$4;
   hasRequiredHelper$5 = 1;
-  var numberUtil2 = requireNumber();
-  var roundNumber = numberUtil2.round;
+  var numberUtil = requireNumber();
+  var roundNumber = numberUtil.round;
   function intervalScaleNiceTicks(extent, splitNumber, minInterval, maxInterval) {
     var result = {};
     var span = extent[1] - extent[0];
-    var interval = result.interval = numberUtil2.nice(span / splitNumber, true);
+    var interval = result.interval = numberUtil.nice(span / splitNumber, true);
     if (minInterval != null && interval < minInterval) {
       interval = result.interval = minInterval;
     }
@@ -19798,7 +19859,7 @@ function requireHelper$5() {
     return result;
   }
   function getIntervalPrecision(interval) {
-    return numberUtil2.getPrecisionSafe(interval) + 2;
+    return numberUtil.getPrecisionSafe(interval) + 2;
   }
   function clamp(niceTickExtent, idx, extent) {
     niceTickExtent[idx] = Math.max(Math.min(niceTickExtent[idx], extent[1]), extent[0]);
@@ -19823,11 +19884,11 @@ function requireInterval() {
   if (hasRequiredInterval)
     return Interval;
   hasRequiredInterval = 1;
-  var numberUtil2 = requireNumber();
-  var formatUtil2 = format$4;
+  var numberUtil = requireNumber();
+  var formatUtil2 = requireFormat();
   var Scale = requireScale();
   var helper2 = requireHelper$5();
-  var roundNumber = numberUtil2.round;
+  var roundNumber = numberUtil.round;
   var IntervalScale = Scale.extend({
     type: "interval",
     _interval: 0,
@@ -19919,7 +19980,7 @@ function requireInterval() {
         var interval = nextTick2 - prevTick;
         var minorInterval = interval / splitNumber;
         while (count < splitNumber - 1) {
-          var minorTick = numberUtil2.round(prevTick + (count + 1) * minorInterval);
+          var minorTick = numberUtil.round(prevTick + (count + 1) * minorInterval);
           if (minorTick > extent[0] && minorTick < extent[1]) {
             minorTicksGroup.push(minorTick);
           }
@@ -19942,7 +20003,7 @@ function requireInterval() {
       }
       var precision = opt && opt.precision;
       if (precision == null) {
-        precision = numberUtil2.getPrecisionSafe(data) || 0;
+        precision = numberUtil.getPrecisionSafe(data) || 0;
       } else if (precision === "auto") {
         precision = this._intervalPrecision;
       }
@@ -20127,8 +20188,8 @@ function requireBarGrid() {
         var key2 = baseAxis.dim + "_" + baseAxis.index;
         var minGap = axisMinGaps[key2];
         var extentSpan = Math.abs(axisExtent[1] - axisExtent[0]);
-        var scale2 = baseAxis.scale.getExtent();
-        var scaleSpan = Math.abs(scale2[1] - scale2[0]);
+        var scale = baseAxis.scale.getExtent();
+        var scaleSpan = Math.abs(scale[1] - scale[0]);
         bandWidth = minGap ? extentSpan / scaleSpan * minGap : extentSpan;
       } else {
         var data = seriesModel.getData();
@@ -20299,7 +20360,7 @@ function requireBarGrid() {
       );
       var isValueAxisH = valueAxis.isHorizontal();
       var valueAxisStart = getValueAxisStart(baseAxis, valueAxis);
-      for (var idx = 0, len2 = data.count(); idx < len2; idx++) {
+      for (var idx = 0, len = data.count(); idx < len; idx++) {
         var value = data.get(valueDim, idx);
         var baseValue = data.get(baseDim, idx);
         var sign = value >= 0 ? "p" : "n";
@@ -20432,8 +20493,8 @@ function requireTime() {
     return Time;
   hasRequiredTime = 1;
   var zrUtil2 = util$8;
-  var numberUtil2 = requireNumber();
-  var formatUtil2 = format$4;
+  var numberUtil = requireNumber();
+  var formatUtil2 = requireFormat();
   var scaleHelper = requireHelper$5();
   var IntervalScale = requireInterval();
   var intervalScaleProto = IntervalScale.prototype;
@@ -20481,10 +20542,10 @@ function requireTime() {
       this.niceTicks(opt.splitNumber, opt.minInterval, opt.maxInterval);
       var interval = this._interval;
       if (!opt.fixMin) {
-        extent[0] = numberUtil2.round(mathFloor(extent[0] / interval) * interval);
+        extent[0] = numberUtil.round(mathFloor(extent[0] / interval) * interval);
       }
       if (!opt.fixMax) {
-        extent[1] = numberUtil2.round(mathCeil(extent[1] / interval) * interval);
+        extent[1] = numberUtil.round(mathCeil(extent[1] / interval) * interval);
       }
     },
     /**
@@ -20507,7 +20568,7 @@ function requireTime() {
       var interval = level[1];
       if (level[0] === "year") {
         var yearSpan = span / interval;
-        var yearStep = numberUtil2.nice(yearSpan / approxTickNum, true);
+        var yearStep = numberUtil.nice(yearSpan / approxTickNum, true);
         interval *= yearStep;
       }
       var timezoneOffset = this.getSetting("useUTC") ? 0 : (/* @__PURE__ */ new Date(+extent[0] || +extent[1])).getTimezoneOffset() * 60 * 1e3;
@@ -20518,7 +20579,7 @@ function requireTime() {
       this._niceExtent = niceExtent;
     },
     parse: function(val) {
-      return +numberUtil2.parseDate(val);
+      return +numberUtil.parseDate(val);
     }
   });
   zrUtil2.each(["contain", "normalize"], function(methodName) {
@@ -20616,12 +20677,12 @@ function requireLog() {
   hasRequiredLog = 1;
   var zrUtil2 = util$8;
   var Scale = requireScale();
-  var numberUtil2 = requireNumber();
+  var numberUtil = requireNumber();
   var IntervalScale = requireInterval();
   var scaleProto = Scale.prototype;
   var intervalScaleProto = IntervalScale.prototype;
-  var getPrecisionSafe = numberUtil2.getPrecisionSafe;
-  var roundingErrorFix = numberUtil2.round;
+  var getPrecisionSafe = numberUtil.getPrecisionSafe;
+  var roundingErrorFix = numberUtil.round;
   var mathFloor = Math.floor;
   var mathCeil = Math.ceil;
   var mathPow2 = Math.pow;
@@ -20642,7 +20703,7 @@ function requireLog() {
       var extent = this._extent;
       var originalExtent = originalScale.getExtent();
       return zrUtil2.map(intervalScaleProto.getTicks.call(this, expandToNicedExtent), function(val) {
-        var powVal = numberUtil2.round(mathPow2(this.base, val));
+        var powVal = numberUtil.round(mathPow2(this.base, val));
         powVal = val === extent[0] && originalScale.__fixMin ? fixRoundingError(powVal, originalExtent[0]) : powVal;
         powVal = val === extent[1] && originalScale.__fixMax ? fixRoundingError(powVal, originalExtent[1]) : powVal;
         return powVal;
@@ -20717,7 +20778,7 @@ function requireLog() {
       if (span === Infinity || span <= 0) {
         return;
       }
-      var interval = numberUtil2.quantity(span);
+      var interval = numberUtil.quantity(span);
       var err = approxTickNum / span * interval;
       if (err <= 0.5) {
         interval *= 10;
@@ -20725,7 +20786,7 @@ function requireLog() {
       while (!isNaN(interval) && Math.abs(interval) < 1 && Math.abs(interval) > 0) {
         interval *= 10;
       }
-      var niceExtent = [numberUtil2.round(mathCeil(extent[0] / interval) * interval), numberUtil2.round(mathFloor(extent[1] / interval) * interval)];
+      var niceExtent = [numberUtil.round(mathCeil(extent[0] / interval) * interval), numberUtil.round(mathFloor(extent[1] / interval) * interval)];
       this._interval = interval;
       this._niceExtent = niceExtent;
     },
@@ -20765,7 +20826,7 @@ function requireAxisHelper() {
   var OrdinalScale = requireOrdinal();
   var IntervalScale = requireInterval();
   var Scale = requireScale();
-  var numberUtil2 = requireNumber();
+  var numberUtil = requireNumber();
   var _barGrid = requireBarGrid();
   var prepareLayoutBarSeries = _barGrid.prepareLayoutBarSeries;
   var makeColumnLayout = _barGrid.makeColumnLayout;
@@ -20773,11 +20834,11 @@ function requireAxisHelper() {
   var BoundingRect2 = BoundingRect_1;
   requireTime();
   requireLog();
-  function getScaleExtent(scale2, model2) {
-    var scaleType = scale2.type;
+  function getScaleExtent(scale, model2) {
+    var scaleType = scale.type;
     var min3 = model2.getMin();
     var max3 = model2.getMax();
-    var originalExtent = scale2.getExtent();
+    var originalExtent = scale.getExtent();
     var axisDataLen;
     var boundaryGap;
     var span;
@@ -20791,8 +20852,8 @@ function requireAxisHelper() {
       if (typeof boundaryGap[0] === "boolean") {
         boundaryGap = [0, 0];
       }
-      boundaryGap[0] = numberUtil2.parsePercent(boundaryGap[0], 1);
-      boundaryGap[1] = numberUtil2.parsePercent(boundaryGap[1], 1);
+      boundaryGap[0] = numberUtil.parsePercent(boundaryGap[0], 1);
+      boundaryGap[1] = numberUtil.parsePercent(boundaryGap[1], 1);
       span = originalExtent[1] - originalExtent[0] || Math.abs(originalExtent[0]);
     }
     if (min3 === "dataMin") {
@@ -20821,7 +20882,7 @@ function requireAxisHelper() {
     }
     (min3 == null || !isFinite(min3)) && (min3 = NaN);
     (max3 == null || !isFinite(max3)) && (max3 = NaN);
-    scale2.setBlank(zrUtil2.eqNaN(min3) || zrUtil2.eqNaN(max3) || scaleType === "ordinal" && !scale2.getOrdinalMeta().categories.length);
+    scale.setBlank(zrUtil2.eqNaN(min3) || zrUtil2.eqNaN(max3) || scaleType === "ordinal" && !scale.getOrdinalMeta().categories.length);
     if (model2.getNeedCrossZero()) {
       if (min3 > 0 && max3 > 0 && !fixMin) {
         min3 = 0;
@@ -20883,16 +20944,16 @@ function requireAxisHelper() {
       max: max3
     };
   }
-  function niceScaleExtent(scale2, model2) {
-    var extentInfo = getScaleExtent(scale2, model2);
+  function niceScaleExtent(scale, model2) {
+    var extentInfo = getScaleExtent(scale, model2);
     var extent = extentInfo.extent;
     var splitNumber = model2.get("splitNumber");
-    if (scale2.type === "log") {
-      scale2.base = model2.get("logBase");
+    if (scale.type === "log") {
+      scale.base = model2.get("logBase");
     }
-    var scaleType = scale2.type;
-    scale2.setExtent(extent[0], extent[1]);
-    scale2.niceExtent({
+    var scaleType = scale.type;
+    scale.setExtent(extent[0], extent[1]);
+    scale.niceExtent({
       splitNumber,
       fixMin: extentInfo.fixMin,
       fixMax: extentInfo.fixMax,
@@ -20901,7 +20962,7 @@ function requireAxisHelper() {
     });
     var interval = model2.get("interval");
     if (interval != null) {
-      scale2.setInterval && scale2.setInterval(interval);
+      scale.setInterval && scale.setInterval(interval);
     }
   }
   function createScaleByModel(model2, axisType) {
@@ -20952,18 +21013,18 @@ function requireAxisHelper() {
   }
   function estimateLabelUnionRect(axis2) {
     var axisModel = axis2.model;
-    var scale2 = axis2.scale;
-    if (!axisModel.get("axisLabel.show") || scale2.isBlank()) {
+    var scale = axis2.scale;
+    if (!axisModel.get("axisLabel.show") || scale.isBlank()) {
       return;
     }
     var isCategory = axis2.type === "category";
     var realNumberScaleTicks;
     var tickCount;
-    var categoryScaleExtent = scale2.getExtent();
+    var categoryScaleExtent = scale.getExtent();
     if (isCategory) {
-      tickCount = scale2.count();
+      tickCount = scale.count();
     } else {
-      realNumberScaleTicks = scale2.getTicks();
+      realNumberScaleTicks = scale.getTicks();
       tickCount = realNumberScaleTicks.length;
     }
     var axisLabelModel = axis2.getLabelModel();
@@ -20982,8 +21043,8 @@ function requireAxisHelper() {
     }
     return rect;
   }
-  function rotateTextRect(textRect, rotate2) {
-    var rotateRadians = rotate2 * Math.PI / 180;
+  function rotateTextRect(textRect, rotate) {
+    var rotateRadians = rotate * Math.PI / 180;
     var boundingBox = textRect.plain();
     var beforeWidth = boundingBox.width;
     var beforeHeight = boundingBox.height;
@@ -21330,7 +21391,7 @@ function requireHelper$4() {
   var createListFromArray = requireCreateListFromArray();
   var axisHelper2 = requireAxisHelper();
   var axisModelCommonMixin2 = requireAxisModelCommonMixin();
-  var Model2 = Model_1;
+  var Model2 = requireModel();
   var _layout2 = layout$1;
   _layout2.getLayoutRect;
   helper$5.getLayoutRect = _layout2.getLayoutRect;
@@ -21358,10 +21419,10 @@ function requireHelper$4() {
       axisModel = new Model2(option);
       zrUtil2.mixin(axisModel, axisModelCommonMixin2);
     }
-    var scale2 = axisHelper2.createScaleByModel(axisModel);
-    scale2.setExtent(dataExtent[0], dataExtent[1]);
-    axisHelper2.niceScaleExtent(scale2, axisModel);
-    return scale2;
+    var scale = axisHelper2.createScaleByModel(axisModel);
+    scale.setExtent(dataExtent[0], dataExtent[1]);
+    axisHelper2.niceScaleExtent(scale, axisModel);
+    return scale;
   }
   function mixinAxisModelCommonMethods(Model3) {
     zrUtil2.mixin(Model3, axisModelCommonMixin2);
@@ -21411,7 +21472,7 @@ function requireRegion() {
   hasRequiredRegion = 1;
   var BoundingRect2 = BoundingRect_1;
   var bbox2 = requireBbox();
-  var vec22 = vector$2;
+  var vec22 = requireVector();
   var polygonContain = requirePolygon();
   function Region(name2, geometries, cp) {
     this.name = name2;
@@ -21466,7 +21527,7 @@ function requireRegion() {
         return false;
       }
       loopGeo:
-        for (var i2 = 0, len2 = geometries.length; i2 < len2; i2++) {
+        for (var i2 = 0, len = geometries.length; i2 < len; i2++) {
           if (geometries[i2].type !== "polygon") {
             continue;
           }
@@ -21859,9 +21920,9 @@ function requireAxis$1() {
   var createAxisLabels = _axisTickLabelBuilder.createAxisLabels;
   var calculateCategoryInterval = _axisTickLabelBuilder.calculateCategoryInterval;
   var NORMALIZED_EXTENT = [0, 1];
-  var Axis = function(dim, scale2, extent) {
+  var Axis = function(dim, scale, extent) {
     this.dim = dim;
-    this.scale = scale2;
+    this.scale = scale;
     this._extent = extent || [0, 0];
     this.inverse = false;
     this.onBand = false;
@@ -21920,11 +21981,11 @@ function requireAxis$1() {
      */
     dataToCoord: function(data, clamp) {
       var extent = this._extent;
-      var scale2 = this.scale;
-      data = scale2.normalize(data);
-      if (this.onBand && scale2.type === "ordinal") {
+      var scale = this.scale;
+      data = scale.normalize(data);
+      if (this.onBand && scale.type === "ordinal") {
         extent = extent.slice();
-        fixExtentWithBands(extent, scale2.count());
+        fixExtentWithBands(extent, scale.count());
       }
       return linearMap(data, NORMALIZED_EXTENT, extent, clamp);
     },
@@ -21936,10 +21997,10 @@ function requireAxis$1() {
      */
     coordToData: function(coord, clamp) {
       var extent = this._extent;
-      var scale2 = this.scale;
-      if (this.onBand && scale2.type === "ordinal") {
+      var scale = this.scale;
+      if (this.onBand && scale.type === "ordinal") {
         extent = extent.slice();
-        fixExtentWithBands(extent, scale2.count());
+        fixExtentWithBands(extent, scale.count());
       }
       var t2 = linearMap(coord, extent, NORMALIZED_EXTENT, clamp);
       return this.scale.scale(t2);
@@ -22038,10 +22099,10 @@ function requireAxis$1() {
     getBandWidth: function() {
       var axisExtent = this._extent;
       var dataExtent = this.scale.getExtent();
-      var len2 = dataExtent[1] - dataExtent[0] + (this.onBand ? 1 : 0);
-      len2 === 0 && (len2 = 1);
+      var len = dataExtent[1] - dataExtent[0] + (this.onBand ? 1 : 0);
+      len === 0 && (len = 1);
       var size = Math.abs(axisExtent[1] - axisExtent[0]);
-      return Math.abs(size) / len2;
+      return Math.abs(size) / len;
     },
     /**
      * @abstract
@@ -22064,8 +22125,8 @@ function requireAxis$1() {
   };
   function fixExtentWithBands(extent, nTick) {
     var size = extent[1] - extent[0];
-    var len2 = nTick;
-    var margin = size / len2 / 2;
+    var len = nTick;
+    var margin = size / len / 2;
     extent[0] += margin;
     extent[1] -= margin;
   }
@@ -22129,17 +22190,17 @@ function require_export() {
   hasRequired_export = 1;
   var zrender$1 = zrender;
   _export.zrender = zrender$1;
-  var matrix2 = matrix$4;
+  var matrix2 = requireMatrix();
   _export.matrix = matrix2;
-  var vector2 = vector$2;
+  var vector2 = requireVector();
   _export.vector = vector2;
   var zrUtil2 = util$8;
   var colorTool2 = color$1;
   _export.color = colorTool2;
   var graphicUtil2 = graphic$4;
-  var numberUtil2 = requireNumber();
-  _export.number = numberUtil2;
-  var formatUtil2 = format$4;
+  var numberUtil = requireNumber();
+  _export.number = numberUtil;
+  var formatUtil2 = requireFormat();
   _export.format = formatUtil2;
   var _throttle = throttle$2;
   _throttle.throttle;
@@ -22150,7 +22211,7 @@ function require_export() {
   _export.parseGeoJSON = parseGeoJSON;
   var _List = requireList();
   _export.List = _List;
-  var _Model = Model_1;
+  var _Model = requireModel();
   _export.Model = _Model;
   var _Axis = requireAxis$1();
   _export.Axis = _Axis;
@@ -23544,10 +23605,10 @@ function requireLabelHelper() {
   var retrieveRawValue2 = _dataProvider2.retrieveRawValue;
   function getDefaultLabel(data, dataIndex) {
     var labelDims = data.mapDimension("defaultedLabel", true);
-    var len2 = labelDims.length;
-    if (len2 === 1) {
+    var len = labelDims.length;
+    if (len === 1) {
       return retrieveRawValue2(data, dataIndex, labelDims[0]);
-    } else if (len2) {
+    } else if (len) {
       var vals = [];
       for (var i2 = 0; i2 < labelDims.length; i2++) {
         var val = retrieveRawValue2(data, dataIndex, labelDims[i2]);
@@ -23743,10 +23804,10 @@ function require_Symbol() {
       return;
     }
     if (toState === "emphasis") {
-      var scale2 = this.__symbolOriginalScale;
-      var ratio = scale2[1] / scale2[0];
+      var scale = this.__symbolOriginalScale;
+      var ratio = scale[1] / scale[0];
       var emphasisOpt = {
-        scale: [Math.max(scale2[0] * 1.1, scale2[0] + 3), Math.max(scale2[1] * 1.1, scale2[1] + 3 * ratio)]
+        scale: [Math.max(scale[0] * 1.1, scale[0] + 3), Math.max(scale[1] * 1.1, scale[1] + 3 * ratio)]
       };
       this.animateTo(emphasisOpt, 400, "elasticOut");
     } else if (toState === "normal") {
@@ -24107,11 +24168,11 @@ function requirePoly() {
     return poly;
   hasRequiredPoly = 1;
   var Path2 = Path_1;
-  var vec22 = vector$2;
+  var vec22 = requireVector();
   var fixClipWithShadow2 = fixClipWithShadow$1;
   var vec2Min = vec22.min;
   var vec2Max = vec22.max;
-  var scaleAndAdd2 = vec22.scaleAndAdd;
+  var scaleAndAdd = vec22.scaleAndAdd;
   var v2Copy = vec22.copy;
   var v = [];
   var cp0 = [];
@@ -24211,14 +24272,14 @@ function requirePoly() {
               lenNextSeg = vec22.dist(p, nextP);
             }
             ratioNextSeg = lenNextSeg / (lenNextSeg + lenPrevSeg);
-            scaleAndAdd2(cp1, p, v, -smooth * (1 - ratioNextSeg));
+            scaleAndAdd(cp1, p, v, -smooth * (1 - ratioNextSeg));
           }
           vec2Min(cp0, cp0, smoothMax);
           vec2Max(cp0, cp0, smoothMin);
           vec2Min(cp1, cp1, smoothMax);
           vec2Max(cp1, cp1, smoothMin);
           ctx.bezierCurveTo(cp0[0], cp0[1], cp1[0], cp1[1], p[0], p[1]);
-          scaleAndAdd2(cp0, p, v, smooth * ratioNextSeg);
+          scaleAndAdd(cp0, p, v, smooth * ratioNextSeg);
         } else {
           ctx.lineTo(p[0], p[1]);
         }
@@ -24270,22 +24331,22 @@ function requirePoly() {
     buildPath: function(ctx, shape) {
       var points2 = shape.points;
       var i2 = 0;
-      var len2 = points2.length;
+      var len = points2.length;
       var result = getBoundingBox(points2, shape.smoothConstraint);
       if (shape.connectNulls) {
-        for (; len2 > 0; len2--) {
-          if (!isPointNull(points2[len2 - 1])) {
+        for (; len > 0; len--) {
+          if (!isPointNull(points2[len - 1])) {
             break;
           }
         }
-        for (; i2 < len2; i2++) {
+        for (; i2 < len; i2++) {
           if (!isPointNull(points2[i2])) {
             break;
           }
         }
       }
-      while (i2 < len2) {
-        i2 += drawSegment(ctx, points2, i2, len2, len2, 1, result.min, result.max, shape.smooth, shape.smoothMonotone, shape.connectNulls) + 1;
+      while (i2 < len) {
+        i2 += drawSegment(ctx, points2, i2, len, len, 1, result.min, result.max, shape.smooth, shape.smoothMonotone, shape.connectNulls) + 1;
       }
     }
   });
@@ -24306,25 +24367,25 @@ function requirePoly() {
       var points2 = shape.points;
       var stackedOnPoints = shape.stackedOnPoints;
       var i2 = 0;
-      var len2 = points2.length;
+      var len = points2.length;
       var smoothMonotone = shape.smoothMonotone;
       var bbox2 = getBoundingBox(points2, shape.smoothConstraint);
       var stackedOnBBox = getBoundingBox(stackedOnPoints, shape.smoothConstraint);
       if (shape.connectNulls) {
-        for (; len2 > 0; len2--) {
-          if (!isPointNull(points2[len2 - 1])) {
+        for (; len > 0; len--) {
+          if (!isPointNull(points2[len - 1])) {
             break;
           }
         }
-        for (; i2 < len2; i2++) {
+        for (; i2 < len; i2++) {
           if (!isPointNull(points2[i2])) {
             break;
           }
         }
       }
-      while (i2 < len2) {
-        var k = drawSegment(ctx, points2, i2, len2, len2, 1, bbox2.min, bbox2.max, shape.smooth, smoothMonotone, shape.connectNulls);
-        drawSegment(ctx, stackedOnPoints, i2 + k - 1, k, len2, -1, stackedOnBBox.min, stackedOnBBox.max, shape.stackedOnSmooth, smoothMonotone, shape.connectNulls);
+      while (i2 < len) {
+        var k = drawSegment(ctx, points2, i2, len, len, 1, bbox2.min, bbox2.max, shape.smooth, smoothMonotone, shape.connectNulls);
+        drawSegment(ctx, stackedOnPoints, i2 + k - 1, k, len, -1, stackedOnBBox.min, stackedOnBBox.max, shape.stackedOnSmooth, smoothMonotone, shape.connectNulls);
         i2 += k + 1;
         ctx.closePath();
       }
@@ -24468,7 +24529,7 @@ function requireLineView() {
       return [];
     }
     var points2 = [];
-    for (var idx = 0, len2 = data.count(); idx < len2; idx++) {
+    for (var idx = 0, len = data.count(); idx < len; idx++) {
       points2.push(getStackedOnPoint(dataCoordInfo, coordSys, data, idx));
     }
     return points2;
@@ -25386,8 +25447,8 @@ function requireAxis2D() {
   hasRequiredAxis2D = 1;
   var zrUtil2 = util$8;
   var Axis = requireAxis$1();
-  var Axis2D = function(dim, scale2, coordExtent, axisType, position) {
-    Axis.call(this, dim, scale2, coordExtent);
+  var Axis2D = function(dim, scale, coordExtent, axisType, position) {
+    Axis.call(this, dim, scale, coordExtent);
     this.type = axisType || "value";
     this.position = position || "bottom";
   };
@@ -26187,16 +26248,16 @@ function requireAxisBuilder() {
   var defaults2 = _util2.defaults;
   var extend2 = _util2.extend;
   var each2 = _util2.each;
-  var formatUtil2 = format$4;
+  var formatUtil2 = requireFormat();
   var graphic2 = graphic$4;
-  var Model2 = Model_1;
+  var Model2 = requireModel();
   var _number2 = requireNumber();
   var isRadianAroundZero = _number2.isRadianAroundZero;
   var remRadian = _number2.remRadian;
   var _symbol = requireSymbol$1();
   var createSymbol = _symbol.createSymbol;
-  var matrixUtil = matrix$4;
-  var _vector2 = vector$2;
+  var matrixUtil = requireMatrix();
+  var _vector2 = requireVector();
   var v2ApplyTransform2 = _vector2.applyTransform;
   var _axisHelper = requireAxisHelper();
   var shouldShowAllLabels = _axisHelper.shouldShowAllLabels;
@@ -26678,7 +26739,7 @@ function requireModelHelper() {
     return modelHelper;
   hasRequiredModelHelper = 1;
   var zrUtil2 = util$8;
-  var Model2 = Model_1;
+  var Model2 = requireModel();
   var each2 = zrUtil2.each;
   var curry2 = zrUtil2.curry;
   function collect(ecModel, api2) {
@@ -26832,18 +26893,18 @@ function requireModelHelper() {
       return;
     }
     var axisPointerModel = axisInfo.axisPointerModel;
-    var scale2 = axisInfo.axis.scale;
+    var scale = axisInfo.axis.scale;
     var option = axisPointerModel.option;
     var status = axisPointerModel.get("status");
     var value = axisPointerModel.get("value");
     if (value != null) {
-      value = scale2.parse(value);
+      value = scale.parse(value);
     }
     var useHandle = isHandleTrigger(axisPointerModel);
     if (status == null) {
       option.status = useHandle ? "show" : "hide";
     }
-    var extent = scale2.getExtent().slice();
+    var extent = scale.getExtent().slice();
     extent[0] > extent[1] && extent.reverse();
     if (
       // Pick a value on axis when initializing.
@@ -27477,7 +27538,7 @@ function requireBarItemStyle() {
   if (hasRequiredBarItemStyle)
     return barItemStyle;
   hasRequiredBarItemStyle = 1;
-  var makeStyleMapper2 = makeStyleMapper$3;
+  var makeStyleMapper2 = requireMakeStyleMapper();
   var getBarItemStyle = makeStyleMapper2([
     ["fill", "color"],
     ["stroke", "borderColor"],
@@ -27566,7 +27627,7 @@ function requireBarView() {
   var graphic2 = graphic$4;
   var _helper = requireHelper$2();
   var setLabel = _helper.setLabel;
-  var Model2 = Model_1;
+  var Model2 = requireModel();
   var barItemStyle2 = requireBarItemStyle();
   var Path2 = Path_1;
   var Group2 = Group_1;
@@ -28028,7 +28089,7 @@ function requireBarView() {
     var pointerValueVal = _eventPos[1 - baseDimIdx];
     var baseLowerBound = pointerBaseVal - barWidthHalf;
     var baseUpperBound = pointerBaseVal + barWidthHalf;
-    for (var i2 = 0, len2 = points2.length / 2; i2 < len2; i2++) {
+    for (var i2 = 0, len = points2.length / 2; i2 < len; i2++) {
       var ii = i2 * 2;
       var barBaseVal = points2[ii + baseDimIdx];
       var barValueVal = points2[ii + valueDimIdx];
@@ -28288,7 +28349,7 @@ function requirePieSeries() {
       var data = this.getRawData();
       var valueDim = data.mapDimension("value");
       var targetList = [];
-      for (var i2 = 0, len2 = data.count(); i2 < len2; i2++) {
+      for (var i2 = 0, len = data.count(); i2 < len; i2++) {
         targetList.push({
           name: data.getName(i2),
           value: data.get(valueDim, i2),
@@ -28832,9 +28893,9 @@ function requireLabelLayout() {
           continue;
         }
         var deltaY = Math.abs(list2[i3].y - cy2);
-        var length2 = list2[i3].len;
-        var length22 = list2[i3].len2;
-        var deltaX = deltaY < r3 + length2 ? Math.sqrt((r3 + length2 + length22) * (r3 + length2 + length22) - deltaY * deltaY) : Math.abs(list2[i3].x - cx2);
+        var length = list2[i3].len;
+        var length2 = list2[i3].len2;
+        var deltaX = deltaY < r3 + length ? Math.sqrt((r3 + length + length2) * (r3 + length + length2) - deltaY * deltaY) : Math.abs(list2[i3].x - cx2);
         if (isDownList && deltaX >= lastDeltaX) {
           deltaX = lastDeltaX - 10;
         }
@@ -28847,10 +28908,10 @@ function requireLabelLayout() {
     }
     var lastY = 0;
     var delta;
-    var len2 = list.length;
+    var len = list.length;
     var upList = [];
     var downList = [];
-    for (var i2 = 0; i2 < len2; i2++) {
+    for (var i2 = 0; i2 < len; i2++) {
       if (list[i2].position === "outer" && list[i2].labelAlignTo === "labelLine") {
         var dx = list[i2].x - farthestX;
         list[i2].linePoints[1][0] += dx;
@@ -28858,14 +28919,14 @@ function requireLabelLayout() {
       }
       delta = list[i2].y - lastY;
       if (delta < 0) {
-        shiftDown(i2, len2, -delta);
+        shiftDown(i2, len, -delta);
       }
       lastY = list[i2].y + list[i2].height;
     }
     if (viewHeight - lastY < 0) {
-      shiftUp(len2 - 1, lastY - viewHeight);
+      shiftUp(len - 1, lastY - viewHeight);
     }
-    for (var i2 = 0; i2 < len2; i2++) {
+    for (var i2 = 0; i2 < len; i2++) {
       if (list[i2].y >= cy) {
         downList.push(list[i2]);
       } else {
@@ -29007,11 +29068,11 @@ function requireLabelLayout() {
         textAlign = isLabelInside ? "center" : labelAlignTo === "edge" ? dx > 0 ? "right" : "left" : dx > 0 ? "left" : "right";
       }
       var labelRotate;
-      var rotate2 = labelModel.get("rotate");
-      if (typeof rotate2 === "number") {
-        labelRotate = rotate2 * (Math.PI / 180);
+      var rotate = labelModel.get("rotate");
+      if (typeof rotate === "number") {
+        labelRotate = rotate * (Math.PI / 180);
       } else {
-        labelRotate = rotate2 ? dx < 0 ? -midAngle + Math.PI : -midAngle : 0;
+        labelRotate = rotate ? dx < 0 ? -midAngle + Math.PI : -midAngle : 0;
       }
       hasLabelRotate = !!labelRotate;
       layout2.label = {
@@ -29421,9 +29482,9 @@ function requireLargeSymbolDraw() {
     var points2 = data.getLayout("symbolPoints");
     this.group.eachChild(function(child) {
       if (child.startIndex != null) {
-        var len2 = (child.endIndex - child.startIndex) * 2;
+        var len = (child.endIndex - child.startIndex) * 2;
         var byteOffset = child.startIndex * 4 * 2;
-        points2 = new Float32Array(points2.buffer, byteOffset, len2);
+        points2 = new Float32Array(points2.buffer, byteOffset, len);
       }
       child.setShape("points", points2);
     });
@@ -29610,8 +29671,8 @@ function requireIndicatorAxis() {
   hasRequiredIndicatorAxis = 1;
   var zrUtil2 = util$8;
   var Axis = requireAxis$1();
-  function IndicatorAxis(dim, scale2, radiusExtent) {
-    Axis.call(this, dim, scale2, radiusExtent);
+  function IndicatorAxis(dim, scale, radiusExtent) {
+    Axis.call(this, dim, scale, radiusExtent);
     this.type = "value";
     this.angle = 0;
     this.name = "";
@@ -29631,7 +29692,7 @@ function requireRadar$2() {
   var zrUtil2 = util$8;
   var IndicatorAxis = requireIndicatorAxis();
   var IntervalScale = requireInterval();
-  var numberUtil2 = requireNumber();
+  var numberUtil = requireNumber();
   var _axisHelper = requireAxisHelper();
   var getScaleExtent = _axisHelper.getScaleExtent;
   var niceScaleExtent = _axisHelper.niceScaleExtent;
@@ -29696,15 +29757,15 @@ function requireRadar$2() {
     var viewWidth = api2.getWidth();
     var viewHeight = api2.getHeight();
     var viewSize = Math.min(viewWidth, viewHeight) / 2;
-    this.cx = numberUtil2.parsePercent(center2[0], viewWidth);
-    this.cy = numberUtil2.parsePercent(center2[1], viewHeight);
+    this.cx = numberUtil.parsePercent(center2[0], viewWidth);
+    this.cy = numberUtil.parsePercent(center2[1], viewHeight);
     this.startAngle = radarModel.get("startAngle") * Math.PI / 180;
     var radius = radarModel.get("radius");
     if (typeof radius === "string" || typeof radius === "number") {
       radius = [0, radius];
     }
-    this.r0 = numberUtil2.parsePercent(radius[0], viewSize);
-    this.r = numberUtil2.parsePercent(radius[1], viewSize);
+    this.r0 = numberUtil.parsePercent(radius[0], viewSize);
+    this.r = numberUtil.parsePercent(radius[1], viewSize);
     zrUtil2.each(this._indicatorAxes, function(indicatorAxis, idx) {
       indicatorAxis.setExtent(this.r0, this.r);
       var angle = this.startAngle + idx * Math.PI * 2 / this._indicatorAxes.length;
@@ -29742,38 +29803,38 @@ function requireRadar$2() {
       var rawExtent = getScaleExtent(indicatorAxis.scale, indicatorAxis.model).extent;
       niceScaleExtent(indicatorAxis.scale, indicatorAxis.model);
       var axisModel = indicatorAxis.model;
-      var scale2 = indicatorAxis.scale;
+      var scale = indicatorAxis.scale;
       var fixedMin = axisModel.getMin();
       var fixedMax = axisModel.getMax();
-      var interval = scale2.getInterval();
+      var interval = scale.getInterval();
       if (fixedMin != null && fixedMax != null) {
-        scale2.setExtent(+fixedMin, +fixedMax);
-        scale2.setInterval((fixedMax - fixedMin) / splitNumber);
+        scale.setExtent(+fixedMin, +fixedMax);
+        scale.setInterval((fixedMax - fixedMin) / splitNumber);
       } else if (fixedMin != null) {
         var max3;
         do {
           max3 = fixedMin + interval * splitNumber;
-          scale2.setExtent(+fixedMin, max3);
-          scale2.setInterval(interval);
+          scale.setExtent(+fixedMin, max3);
+          scale.setInterval(interval);
           interval = increaseInterval(interval);
         } while (max3 < rawExtent[1] && isFinite(max3) && isFinite(rawExtent[1]));
       } else if (fixedMax != null) {
         var min3;
         do {
           min3 = fixedMax - interval * splitNumber;
-          scale2.setExtent(min3, +fixedMax);
-          scale2.setInterval(interval);
+          scale.setExtent(min3, +fixedMax);
+          scale.setInterval(interval);
           interval = increaseInterval(interval);
         } while (min3 > rawExtent[0] && isFinite(min3) && isFinite(rawExtent[0]));
       } else {
-        var nicedSplitNumber = scale2.getTicks().length - 1;
+        var nicedSplitNumber = scale.getTicks().length - 1;
         if (nicedSplitNumber > splitNumber) {
           interval = increaseInterval(interval);
         }
         var max3 = Math.ceil(rawExtent[1] / interval) * interval;
-        var min3 = numberUtil2.round(max3 - interval * splitNumber);
-        scale2.setExtent(min3, max3);
-        scale2.setInterval(interval);
+        var min3 = numberUtil.round(max3 - interval * splitNumber);
+        scale.setExtent(min3, max3);
+        scale.setInterval(interval);
       }
     });
   };
@@ -29806,7 +29867,7 @@ function requireRadarModel() {
   var echarts2 = echarts$3;
   var zrUtil2 = util$8;
   var axisDefault = requireAxisDefault();
-  var Model2 = Model_1;
+  var Model2 = requireModel();
   var axisModelCommonMixin2 = requireAxisModelCommonMixin();
   var valueAxisDefault = axisDefault.valueAxis;
   function defaultsShow(opt, show2) {
@@ -29819,7 +29880,7 @@ function requireRadarModel() {
     optionUpdated: function() {
       var boundaryGap = this.get("boundaryGap");
       var splitNumber = this.get("splitNumber");
-      var scale2 = this.get("scale");
+      var scale = this.get("scale");
       var axisLine = this.get("axisLine");
       var axisTick = this.get("axisTick");
       var axisType = this.get("axisType");
@@ -29844,7 +29905,7 @@ function requireRadarModel() {
         indicatorOpt = zrUtil2.merge(zrUtil2.clone(indicatorOpt), {
           boundaryGap,
           splitNumber,
-          scale: scale2,
+          scale,
           axisLine,
           axisTick,
           axisType,
@@ -30079,7 +30140,7 @@ function requireRadarSeries() {
   var SeriesModel2 = Series;
   var createListSimply2 = requireCreateListSimply();
   var zrUtil2 = util$8;
-  var _format2 = format$4;
+  var _format2 = requireFormat();
   var encodeHTML2 = _format2.encodeHTML;
   var LegendVisualProvider = requireLegendVisualProvider();
   var RadarSeries = SeriesModel2.extend({
@@ -30117,7 +30178,7 @@ function requireRadarSeries() {
         var values = data.getValues(zrUtil2.map(coordSys.dimensions, function(dim) {
           return data.mapDimension(dim);
         }), dataIndex, true);
-        for (var i2 = 0, len2 = values.length; i2 < len2; i2++) {
+        for (var i2 = 0, len = values.length; i2 < len; i2++) {
           if (!isNaN(values[i2])) {
             var indicatorAxes = coordSys.getIndicatorAxes();
             return coordSys.coordToPoint(indicatorAxes[i2].dataToCoord(values[i2]), i2);
@@ -30789,7 +30850,7 @@ function requireMapSeries() {
   var zrUtil2 = util$8;
   var createListSimply2 = requireCreateListSimply();
   var SeriesModel2 = Series;
-  var _format2 = format$4;
+  var _format2 = requireFormat();
   var encodeHTML2 = _format2.encodeHTML;
   var addCommas2 = _format2.addCommas;
   var dataSelectableMixin = requireSelectableMixin();
@@ -30821,7 +30882,7 @@ function requireMapSeries() {
       var dataNameMap = zrUtil2.createHashMap();
       var selectTargetList = [];
       var toAppendNames = [];
-      for (var i2 = 0, len2 = data.count(); i2 < len2; i2++) {
+      for (var i2 = 0, len = data.count(); i2 < len; i2++) {
         var name2 = data.getName(i2);
         dataNameMap.set(name2, true);
         selectTargetList.push({
@@ -31136,9 +31197,9 @@ function requireRoamController() {
     }
     if (shouldZoom) {
       var factor = absWheelDeltaDelta > 3 ? 1.4 : absWheelDeltaDelta > 1 ? 1.2 : 1.1;
-      var scale2 = wheelDelta > 0 ? factor : 1 / factor;
+      var scale = wheelDelta > 0 ? factor : 1 / factor;
       checkPointerAndTrigger(this, "zoom", "zoomOnMouseWheel", e2, {
-        scale: scale2,
+        scale,
         originX,
         originY
       });
@@ -31157,9 +31218,9 @@ function requireRoamController() {
     if (interactionMutex2.isTaken(this._zr, "globalPan")) {
       return;
     }
-    var scale2 = e2.pinchScale > 1 ? 1.1 : 1 / 1.1;
+    var scale = e2.pinchScale > 1 ? 1.1 : 1 / 1.1;
     checkPointerAndTrigger(this, "zoom", null, e2, {
-      scale: scale2,
+      scale,
       originX: e2.pinchX,
       originY: e2.pinchY
     });
@@ -31199,7 +31260,7 @@ function requireRoamHelper$1() {
     var target = controllerHost.target;
     var zoomLimit = controllerHost.zoomLimit;
     var pos = target.position;
-    var scale2 = target.scale;
+    var scale = target.scale;
     var newZoom = controllerHost.zoom = controllerHost.zoom || 1;
     newZoom *= zoomDelta;
     if (zoomLimit) {
@@ -31211,8 +31272,8 @@ function requireRoamHelper$1() {
     controllerHost.zoom = newZoom;
     pos[0] -= (zoomX - pos[0]) * (zoomScale - 1);
     pos[1] -= (zoomY - pos[1]) * (zoomScale - 1);
-    scale2[0] *= zoomScale;
-    scale2[1] *= zoomScale;
+    scale[0] *= zoomScale;
+    scale[1] *= zoomScale;
     target.dirty();
   }
   roamHelper$1.updateViewOnPan = updateViewOnPan;
@@ -31353,7 +31414,7 @@ function requireMapDraw() {
         targetScale = target.scale;
         graphic2.updateProps(group, props2, mapOrGeoModel);
       }
-      var scale2 = transformInfo.rawScale;
+      var scale = transformInfo.rawScale;
       var position = transformInfo.rawPosition;
       regionsGroup.removeAll();
       var itemStyleAccessPath = ["itemStyle"];
@@ -31386,7 +31447,7 @@ function requireMapDraw() {
           }
         }
         var transformPoint = function(point) {
-          return [point[0] * scale2[0] + position[0], point[1] * scale2[1] + position[1]];
+          return [point[0] * scale[0] + position[0], point[1] * scale[1] + position[1]];
         };
         zrUtil2.each(region.geometries, function(geometry) {
           if (geometry.type !== "polygon") {
@@ -31528,10 +31589,10 @@ function requireMapDraw() {
           originY: e2.originY
         }));
         if (this._updateGroup) {
-          var scale2 = this.group.scale;
+          var scale = this.group.scale;
           this._regionsGroup.traverse(function(el) {
             if (el.type === "text") {
-              el.attr("scale", [1 / scale2[0], 1 / scale2[1]]);
+              el.attr("scale", [1 / scale[0], 1 / scale[1]]);
             }
           });
         }
@@ -31783,8 +31844,8 @@ function requireView() {
     return View_1;
   hasRequiredView = 1;
   var zrUtil2 = util$8;
-  var vector2 = vector$2;
-  var matrix2 = matrix$4;
+  var vector2 = requireVector();
+  var matrix2 = requireMatrix();
   var BoundingRect2 = BoundingRect_1;
   var Transformable2 = Transformable_1;
   var v2ApplyTransform2 = vector2.applyTransform;
@@ -32071,8 +32132,8 @@ function requireGeo$1() {
       rawTransformable.transform = rect.calculateTransform(new BoundingRect2(x, y, width, height));
       rawTransformable.decomposeTransform();
       if (invertLongitute) {
-        var scale2 = rawTransformable.scale;
-        scale2[1] = -scale2[1];
+        var scale = rawTransformable.scale;
+        scale[1] = -scale[1];
       }
       rawTransformable.updateTransform();
       this._updateTransform();
@@ -32158,7 +32219,7 @@ function requireGeoCreator() {
   var zrUtil2 = util$8;
   var Geo = requireGeo$1();
   var layout2 = layout$1;
-  var numberUtil2 = requireNumber();
+  var numberUtil = requireNumber();
   var geoSourceManager2 = requireGeoSourceManager();
   var mapDataStorage$1 = mapDataStorage;
   function resizeGeo(geoModel, api2) {
@@ -32181,8 +32242,8 @@ function requireGeoCreator() {
     var aspect = rect.width / rect.height * this.aspectScale;
     var useCenterAndSize = false;
     if (center2 && size) {
-      center2 = [numberUtil2.parsePercent(center2[0], viewWidth), numberUtil2.parsePercent(center2[1], viewHeight)];
-      size = numberUtil2.parsePercent(size, Math.min(viewWidth, viewHeight));
+      center2 = [numberUtil.parsePercent(center2[0], viewWidth), numberUtil.parsePercent(center2[1], viewHeight)];
+      size = numberUtil.parsePercent(size, Math.min(viewWidth, viewHeight));
       if (!isNaN(center2[0]) && !isNaN(center2[1]) && !isNaN(size)) {
         useCenterAndSize = true;
       }
@@ -32396,8 +32457,8 @@ function requireMapDataStatistic() {
       var sum = 0;
       var min3 = Infinity;
       var max3 = -Infinity;
-      var len2 = dataNameMap[mapKey].length;
-      for (var i2 = 0; i2 < len2; i2++) {
+      var len = dataNameMap[mapKey].length;
+      for (var i2 = 0; i2 < len; i2++) {
         min3 = Math.min(min3, dataNameMap[mapKey][i2]);
         max3 = Math.max(max3, dataNameMap[mapKey][i2]);
         sum += dataNameMap[mapKey][i2];
@@ -32408,11 +32469,11 @@ function requireMapDataStatistic() {
       } else if (statisticType === "max") {
         result = max3;
       } else if (statisticType === "average") {
-        result = sum / len2;
+        result = sum / len;
       } else {
         result = sum;
       }
-      return len2 === 0 ? NaN : result;
+      return len === 0 ? NaN : result;
     });
   }
   function _default68(ecModel) {
@@ -32667,7 +32728,7 @@ function requireTree$1() {
       if (this.getId() === id) {
         return this;
       }
-      for (var i2 = 0, children3 = this.children, len2 = children3.length; i2 < len2; i2++) {
+      for (var i2 = 0, children3 = this.children, len = children3.length; i2 < len; i2++) {
         var res = children3[i2].getNodeById(id);
         if (res) {
           return res;
@@ -32682,7 +32743,7 @@ function requireTree$1() {
       if (node === this) {
         return true;
       }
-      for (var i2 = 0, children3 = this.children, len2 = children3.length; i2 < len2; i2++) {
+      for (var i2 = 0, children3 = this.children, len = children3.length; i2 < len; i2++) {
         var res = children3[i2].contains(node);
         if (res) {
           return res;
@@ -32845,10 +32906,10 @@ function requireTree$1() {
     update: function() {
       var data = this.data;
       var nodes = this._nodes;
-      for (var i2 = 0, len2 = nodes.length; i2 < len2; i2++) {
+      for (var i2 = 0, len = nodes.length; i2 < len; i2++) {
         nodes[i2].dataIndex = -1;
       }
-      for (var i2 = 0, len2 = data.count(); i2 < len2; i2++) {
+      for (var i2 = 0, len = data.count(); i2 < len; i2++) {
         nodes[data.getRawIndex(i2)].dataIndex = i2;
       }
     },
@@ -32914,9 +32975,9 @@ function requireTreeSeries() {
   hasRequiredTreeSeries = 1;
   var SeriesModel2 = Series;
   var Tree2 = requireTree$1();
-  var _format2 = format$4;
+  var _format2 = requireFormat();
   var encodeHTML2 = _format2.encodeHTML;
-  var Model2 = Model_1;
+  var Model2 = requireModel();
   var _default68 = SeriesModel2.extend({
     type: "series.tree",
     layoutInfo: null,
@@ -33501,13 +33562,13 @@ function requireTreeView() {
     if (seriesScope.layout === "radial") {
       var realRoot = virtualRoot.children[0];
       var rootLayout = realRoot.getLayout();
-      var length2 = realRoot.children.length;
+      var length = realRoot.children.length;
       var rad;
       var isLeft;
       if (targetLayout.x === rootLayout.x && node.isExpand === true) {
         var center2 = {};
-        center2.x = (realRoot.children[0].getLayout().x + realRoot.children[length2 - 1].getLayout().x) / 2;
-        center2.y = (realRoot.children[0].getLayout().y + realRoot.children[length2 - 1].getLayout().y) / 2;
+        center2.x = (realRoot.children[0].getLayout().x + realRoot.children[length - 1].getLayout().x) / 2;
+        center2.y = (realRoot.children[0].getLayout().y + realRoot.children[length - 1].getLayout().y) / 2;
         rad = Math.atan2(center2.y - rootLayout.y, center2.x - rootLayout.x);
         if (rad < 0) {
           rad = Math.PI * 2 + rad;
@@ -33534,11 +33595,11 @@ function requireTreeView() {
         }
       }
       var textPosition = isLeft ? "left" : "right";
-      var rotate2 = seriesScope.labelModel.get("rotate");
-      var labelRotateRadian = rotate2 * (Math.PI / 180);
+      var rotate = seriesScope.labelModel.get("rotate");
+      var labelRotateRadian = rotate * (Math.PI / 180);
       symbolPath.setStyle({
         textPosition: seriesScope.labelModel.get("position") || textPosition,
-        textRotation: rotate2 == null ? -rad : labelRotateRadian,
+        textRotation: rotate == null ? -rad : labelRotateRadian,
         textOrigin: "center",
         verticalAlign: "middle"
       });
@@ -34000,8 +34061,8 @@ function requireTreemapSeries() {
   var zrUtil2 = util$8;
   var SeriesModel2 = Series;
   var Tree2 = requireTree$1();
-  var Model2 = Model_1;
-  var _format2 = format$4;
+  var Model2 = requireModel();
+  var _format2 = requireFormat();
   var encodeHTML2 = _format2.encodeHTML;
   var addCommas2 = _format2.addCommas;
   var _treeHelper = requireTreeHelper();
@@ -34510,7 +34571,7 @@ function requireAnimation() {
        */
       start: function() {
         var count = storage2.length;
-        for (var i2 = 0, len2 = storage2.length; i2 < len2; i2++) {
+        for (var i2 = 0, len = storage2.length; i2 < len; i2++) {
           var item = storage2[i2];
           item.el.animateTo(item.target, item.time, item.delay, item.easing, done);
         }
@@ -34543,11 +34604,11 @@ function requireTreemapView() {
   var Breadcrumb2 = requireBreadcrumb();
   var RoamController = requireRoamController();
   var BoundingRect2 = BoundingRect_1;
-  var matrix2 = matrix$4;
+  var matrix2 = requireMatrix();
   var animationUtil = requireAnimation();
-  var makeStyleMapper2 = makeStyleMapper$3;
-  var _format2 = format$4;
-  var windowOpen2 = _format2.windowOpen;
+  var makeStyleMapper2 = requireMakeStyleMapper();
+  var _format2 = requireFormat();
+  var windowOpen = _format2.windowOpen;
   var bind2 = zrUtil2.bind;
   var Group2 = graphic2.Group;
   var Rect2 = graphic2.Rect;
@@ -34907,7 +34968,7 @@ function requireTreemapView() {
             var itemModel = node.hostTree.data.getItemModel(node.dataIndex);
             var link = itemModel.get("link", true);
             var linkTarget = itemModel.get("target", true) || "blank";
-            link && windowOpen2(link, linkTarget);
+            link && windowOpen(link, linkTarget);
           }
         }
       }, this);
@@ -35580,7 +35641,7 @@ function requireVisualMapping() {
   VisualMapping.findPieceIndex = function(value, pieceList, findClosestWhenOutside) {
     var possibleI;
     var abs2 = Infinity;
-    for (var i2 = 0, len2 = pieceList.length; i2 < len2; i2++) {
+    for (var i2 = 0, len = pieceList.length; i2 < len; i2++) {
       var pieceValue = pieceList[i2].value;
       if (pieceValue != null) {
         if (pieceValue === value || typeof pieceValue === "string" && pieceValue === value + "") {
@@ -35589,7 +35650,7 @@ function requireVisualMapping() {
         findClosestWhenOutside && updatePossible(pieceValue, i2);
       }
     }
-    for (var i2 = 0, len2 = pieceList.length; i2 < len2; i2++) {
+    for (var i2 = 0, len = pieceList.length; i2 < len; i2++) {
       var piece = pieceList[i2];
       var interval = piece.interval;
       var close2 = piece.close;
@@ -35891,7 +35952,7 @@ function requireTreemapLayout() {
     var best = Infinity;
     var row = [];
     row.area = 0;
-    for (var i2 = 0, len2 = viewChildren.length; i2 < len2; ) {
+    for (var i2 = 0, len = viewChildren.length; i2 < len; ) {
       var child = viewChildren[i2];
       row.push(child);
       row.area += child.getLayout().area;
@@ -35916,7 +35977,7 @@ function requireTreemapLayout() {
         hideChildren = true;
       }
     }
-    for (var i2 = 0, len2 = viewChildren.length; i2 < len2; i2++) {
+    for (var i2 = 0, len = viewChildren.length; i2 < len; i2++) {
       squarify(viewChildren[i2], options, hideChildren, depth + 1);
     }
   }
@@ -35940,7 +36001,7 @@ function requireTreemapLayout() {
     if (info.sum === 0) {
       return node.viewChildren = [];
     }
-    for (var i2 = 0, len2 = viewChildren.length; i2 < len2; i2++) {
+    for (var i2 = 0, len = viewChildren.length; i2 < len; i2++) {
       var area = viewChildren[i2].getValue() / info.sum * totalArea;
       viewChildren[i2].setLayout({
         area
@@ -35963,16 +36024,16 @@ function requireTreemapLayout() {
       return sum;
     }
     var visibleMin = nodeModel.get("visibleMin");
-    var len2 = orderedChildren.length;
-    var deletePoint = len2;
-    for (var i2 = len2 - 1; i2 >= 0; i2--) {
-      var value = orderedChildren[orderBy === "asc" ? len2 - i2 - 1 : i2].getValue();
+    var len = orderedChildren.length;
+    var deletePoint = len;
+    for (var i2 = len - 1; i2 >= 0; i2--) {
+      var value = orderedChildren[orderBy === "asc" ? len - i2 - 1 : i2].getValue();
       if (value / sum * totalArea < visibleMin) {
         deletePoint = i2;
         sum -= value;
       }
     }
-    orderBy === "asc" ? orderedChildren.splice(0, len2 - deletePoint) : orderedChildren.splice(deletePoint, len2 - deletePoint);
+    orderBy === "asc" ? orderedChildren.splice(0, len - deletePoint) : orderedChildren.splice(deletePoint, len - deletePoint);
     return sum;
   }
   function sort2(viewChildren, orderBy) {
@@ -35986,7 +36047,7 @@ function requireTreemapLayout() {
   }
   function statistic(nodeModel, children3, orderBy) {
     var sum = 0;
-    for (var i2 = 0, len2 = children3.length; i2 < len2; i2++) {
+    for (var i2 = 0, len = children3.length; i2 < len; i2++) {
       sum += children3[i2].getValue();
     }
     var dimension = nodeModel.get("visualDimension");
@@ -36012,7 +36073,7 @@ function requireTreemapLayout() {
   function worst(row, rowFixedLength, ratio) {
     var areaMax = 0;
     var areaMin = Infinity;
-    for (var i2 = 0, area, len2 = row.length; i2 < len2; i2++) {
+    for (var i2 = 0, area, len = row.length; i2 < len; i2++) {
       area = row[i2].getLayout().area;
       if (area) {
         area < areaMin && (areaMin = area);
@@ -36061,7 +36122,7 @@ function requireTreemapLayout() {
     while (parent3 = currNode.parentNode) {
       var sum = 0;
       var siblings = parent3.children;
-      for (var i2 = 0, len2 = siblings.length; i2 < len2; i2++) {
+      for (var i2 = 0, len = siblings.length; i2 < len; i2++) {
         sum += siblings[i2].getValue();
       }
       var currNodeValue = currNode.getValue();
@@ -36077,8 +36138,8 @@ function requireTreemapLayout() {
       currNode = parent3;
     }
     area < viewArea && (area = viewArea);
-    var scale2 = Math.pow(area / viewArea, 0.5);
-    return [containerWidth * scale2, containerHeight * scale2];
+    var scale = Math.pow(area / viewArea, 0.5);
+    return [containerWidth * scale, containerHeight * scale];
   }
   function calculateRootPosition(layoutInfo, rootRect, targetInfo) {
     if (rootRect) {
@@ -36252,8 +36313,8 @@ function requireGraph$1() {
   };
   graphProto.eachNode = function(cb, context) {
     var nodes = this.nodes;
-    var len2 = nodes.length;
-    for (var i2 = 0; i2 < len2; i2++) {
+    var len = nodes.length;
+    for (var i2 = 0; i2 < len; i2++) {
       if (nodes[i2].dataIndex >= 0) {
         cb.call(context, nodes[i2], i2);
       }
@@ -36261,8 +36322,8 @@ function requireGraph$1() {
   };
   graphProto.eachEdge = function(cb, context) {
     var edges = this.edges;
-    var len2 = edges.length;
-    for (var i2 = 0; i2 < len2; i2++) {
+    var len = edges.length;
+    for (var i2 = 0; i2 < len; i2++) {
       if (edges[i2].dataIndex >= 0 && edges[i2].node1.dataIndex >= 0 && edges[i2].node2.dataIndex >= 0) {
         cb.call(context, edges[i2], i2);
       }
@@ -36304,20 +36365,20 @@ function requireGraph$1() {
     var edgeData = this.edgeData;
     var nodes = this.nodes;
     var edges = this.edges;
-    for (var i2 = 0, len2 = nodes.length; i2 < len2; i2++) {
+    for (var i2 = 0, len = nodes.length; i2 < len; i2++) {
       nodes[i2].dataIndex = -1;
     }
-    for (var i2 = 0, len2 = data.count(); i2 < len2; i2++) {
+    for (var i2 = 0, len = data.count(); i2 < len; i2++) {
       nodes[data.getRawIndex(i2)].dataIndex = i2;
     }
     edgeData.filterSelf(function(idx) {
       var edge = edges[edgeData.getRawIndex(idx)];
       return edge.node1.dataIndex >= 0 && edge.node2.dataIndex >= 0;
     });
-    for (var i2 = 0, len2 = edges.length; i2 < len2; i2++) {
+    for (var i2 = 0, len = edges.length; i2 < len; i2++) {
       edges[i2].dataIndex = -1;
     }
-    for (var i2 = 0, len2 = edgeData.count(); i2 < len2; i2++) {
+    for (var i2 = 0, len = edgeData.count(); i2 < len; i2++) {
       edges[edgeData.getRawIndex(i2)].dataIndex = i2;
     }
   };
@@ -36536,20 +36597,20 @@ function requireMultipleGraphEdgeHelper() {
   };
   var createCurveness = function(seriesModel, appendLength) {
     var autoCurvenessParmas = getAutoCurvenessParams(seriesModel);
-    var length2 = 20;
+    var length = 20;
     var curvenessList = [];
     if (typeof autoCurvenessParmas === "number") {
-      length2 = autoCurvenessParmas;
+      length = autoCurvenessParmas;
     } else if (zrUtil2.isArray(autoCurvenessParmas)) {
       seriesModel.__curvenessList = autoCurvenessParmas;
       return;
     }
-    if (appendLength > length2) {
-      length2 = appendLength;
+    if (appendLength > length) {
+      length = appendLength;
     }
-    var len2 = length2 % 2 ? length2 + 2 : length2 + 3;
+    var len = length % 2 ? length + 2 : length + 3;
     curvenessList = [];
-    for (var i2 = 0; i2 < len2; i2++) {
+    for (var i2 = 0; i2 < len; i2++) {
       curvenessList.push((i2 % 2 ? i2 + 1 : i2) / 10 * (i2 % 2 ? -1 : 1));
     }
     seriesModel.__curvenessList = curvenessList;
@@ -36568,9 +36629,9 @@ function requireMultipleGraphEdgeHelper() {
     return seriesModel.__edgeMap[key2];
   };
   var getTotalLengthBetweenNodes = function(edge, seriesModel) {
-    var len2 = getEdgeMapLengthWithKey(getKeyOfEdges(edge.node1, edge.node2, seriesModel), seriesModel);
+    var len = getEdgeMapLengthWithKey(getKeyOfEdges(edge.node1, edge.node2, seriesModel), seriesModel);
     var lenV = getEdgeMapLengthWithKey(getKeyOfEdges(edge.node2, edge.node1, seriesModel), seriesModel);
-    return len2 + lenV;
+    return len + lenV;
   };
   var getEdgeMapLengthWithKey = function(key2, seriesModel) {
     var edgeMap = seriesModel.__edgeMap;
@@ -36625,20 +36686,20 @@ function requireMultipleGraphEdgeHelper() {
     var parityCorrection = isArrayParam ? 0 : totalLen % 2 ? 0 : 1;
     if (!edgeArray.isForward) {
       var oppositeKey = getOppositeKey(curKey);
-      var len2 = getEdgeMapLengthWithKey(oppositeKey, seriesModel);
-      var resValue = curvenessList[edgeIndex + len2 + parityCorrection];
+      var len = getEdgeMapLengthWithKey(oppositeKey, seriesModel);
+      var resValue = curvenessList[edgeIndex + len + parityCorrection];
       if (needReverse) {
         if (isArrayParam) {
           if (autoCurvenessParams && autoCurvenessParams[0] === 0) {
-            return (len2 + parityCorrection) % 2 ? resValue : -resValue;
+            return (len + parityCorrection) % 2 ? resValue : -resValue;
           } else {
-            return ((len2 % 2 ? 0 : 1) + parityCorrection) % 2 ? resValue : -resValue;
+            return ((len % 2 ? 0 : 1) + parityCorrection) % 2 ? resValue : -resValue;
           }
         } else {
-          return (len2 + parityCorrection) % 2 ? resValue : -resValue;
+          return (len + parityCorrection) % 2 ? resValue : -resValue;
         }
       } else {
-        return curvenessList[edgeIndex + len2 + parityCorrection];
+        return curvenessList[edgeIndex + len + parityCorrection];
       }
     } else {
       return curvenessList[parityCorrection + edgeIndex];
@@ -36660,8 +36721,8 @@ function requireGraphSeries() {
   var zrUtil2 = util$8;
   var _model2 = model;
   var defaultEmphasis2 = _model2.defaultEmphasis;
-  var Model2 = Model_1;
-  var _format2 = format$4;
+  var Model2 = requireModel();
+  var _format2 = requireFormat();
   var encodeHTML2 = _format2.encodeHTML;
   var createGraphFromNodeEdge2 = requireCreateGraphFromNodeEdge();
   var LegendVisualProvider = requireLegendVisualProvider();
@@ -36881,7 +36942,7 @@ function requireLinePath() {
     return LinePath;
   hasRequiredLinePath = 1;
   var graphic2 = graphic$4;
-  var vec22 = vector$2;
+  var vec22 = requireVector();
   var straightLineProto = graphic2.Line.prototype;
   var bezierCurveProto = graphic2.BezierCurve.prototype;
   function isLine(shape) {
@@ -36929,7 +36990,7 @@ function requireLine() {
     return Line_1;
   hasRequiredLine = 1;
   var zrUtil2 = util$8;
-  var vector2 = vector$2;
+  var vector2 = requireVector();
   var symbolUtil = requireSymbol$1();
   var LinePath2 = requireLinePath();
   var graphic2 = graphic$4;
@@ -37031,9 +37092,9 @@ function requireLine() {
       var textAlign;
       var textVerticalAlign;
       var textOrigin;
-      var distance2 = label.__labelDistance;
-      var distanceX = distance2[0] * invScale;
-      var distanceY = distance2[1] * invScale;
+      var distance = label.__labelDistance;
+      var distanceX = distance[0] * invScale;
+      var distanceY = distance[1] * invScale;
       var halfPercent = percent / 2;
       var tangent = line2.tangentAt(halfPercent);
       var n2 = [tangent[1], -tangent[0]];
@@ -37225,11 +37286,11 @@ function requireLine() {
       label.__textAlign = labelStyle.textAlign;
       label.__verticalAlign = labelStyle.textVerticalAlign;
       label.__position = labelModel.get("position") || "middle";
-      var distance2 = labelModel.get("distance");
-      if (!zrUtil2.isArray(distance2)) {
-        distance2 = [distance2, distance2];
+      var distance = labelModel.get("distance");
+      if (!zrUtil2.isArray(distance)) {
+        distance = [distance, distance];
       }
-      label.__labelDistance = distance2;
+      label.__labelDistance = distance;
     }
     if (emphasisText != null) {
       label.hoverStyle = {
@@ -37424,7 +37485,7 @@ function requireAdjustEdge() {
     return adjustEdge;
   hasRequiredAdjustEdge = 1;
   var curveTool = curve$3;
-  var vec22 = vector$2;
+  var vec22 = requireVector();
   var _graphHelper = requireGraphHelper();
   var getSymbolSize = _graphHelper.getSymbolSize;
   var v1 = [];
@@ -37478,13 +37539,13 @@ function requireAdjustEdge() {
     }
     return t2;
   }
-  function _default68(graph2, scale2) {
+  function _default68(graph2, scale) {
     var tmp0 = [];
     var quadraticSubdivide2 = curveTool.quadraticSubdivide;
     var pts = [[], [], []];
     var pts2 = [[], []];
     var v = [];
-    scale2 /= 2;
+    scale /= 2;
     graph2.eachEdge(function(edge, idx) {
       var linePoints = edge.getLayout();
       var fromSymbol = edge.getVisual("fromSymbol");
@@ -37502,7 +37563,7 @@ function requireAdjustEdge() {
         vec22.copy(pts[2], originalPoints[1]);
         if (fromSymbol && fromSymbol !== "none") {
           var symbolSize = getSymbolSize(edge.node1);
-          var t2 = intersectCurveCircle(pts, originalPoints[0], symbolSize * scale2);
+          var t2 = intersectCurveCircle(pts, originalPoints[0], symbolSize * scale);
           quadraticSubdivide2(pts[0][0], pts[1][0], pts[2][0], t2, tmp0);
           pts[0][0] = tmp0[3];
           pts[1][0] = tmp0[4];
@@ -37512,7 +37573,7 @@ function requireAdjustEdge() {
         }
         if (toSymbol && toSymbol !== "none") {
           var symbolSize = getSymbolSize(edge.node2);
-          var t2 = intersectCurveCircle(pts, originalPoints[1], symbolSize * scale2);
+          var t2 = intersectCurveCircle(pts, originalPoints[1], symbolSize * scale);
           quadraticSubdivide2(pts[0][0], pts[1][0], pts[2][0], t2, tmp0);
           pts[1][0] = tmp0[1];
           pts[2][0] = tmp0[2];
@@ -37530,11 +37591,11 @@ function requireAdjustEdge() {
         vec22.normalize(v, v);
         if (fromSymbol && fromSymbol !== "none") {
           var symbolSize = getSymbolSize(edge.node1);
-          vec22.scaleAndAdd(pts2[0], pts2[0], v, symbolSize * scale2);
+          vec22.scaleAndAdd(pts2[0], pts2[0], v, symbolSize * scale);
         }
         if (toSymbol && toSymbol !== "none") {
           var symbolSize = getSymbolSize(edge.node2);
-          vec22.scaleAndAdd(pts2[1], pts2[1], v, -symbolSize * scale2);
+          vec22.scaleAndAdd(pts2[1], pts2[1], v, -symbolSize * scale);
         }
         vec22.copy(linePoints[0], pts2[0]);
         vec22.copy(linePoints[1], pts2[1]);
@@ -38003,7 +38064,7 @@ function requireEdgeVisual() {
   if (hasRequiredEdgeVisual)
     return edgeVisual;
   hasRequiredEdgeVisual = 1;
-  function normalize2(a2) {
+  function normalize(a2) {
     if (!(a2 instanceof Array)) {
       a2 = [a2, a2];
     }
@@ -38013,8 +38074,8 @@ function requireEdgeVisual() {
     ecModel.eachSeriesByType("graph", function(seriesModel) {
       var graph2 = seriesModel.getGraph();
       var edgeData = seriesModel.getEdgeData();
-      var symbolType = normalize2(seriesModel.get("edgeSymbol"));
-      var symbolSize = normalize2(seriesModel.get("edgeSymbolSize"));
+      var symbolType = normalize(seriesModel.get("edgeSymbol"));
+      var symbolSize = normalize(seriesModel.get("edgeSymbolSize"));
       var colorQuery = "lineStyle.color".split(".");
       var opacityQuery = "lineStyle.opacity".split(".");
       edgeData.setVisual("fromSymbol", symbolType && symbolType[0]);
@@ -38026,8 +38087,8 @@ function requireEdgeVisual() {
       edgeData.each(function(idx) {
         var itemModel = edgeData.getItemModel(idx);
         var edge = graph2.getEdgeByIndex(idx);
-        var symbolType2 = normalize2(itemModel.getShallow("symbol", true));
-        var symbolSize2 = normalize2(itemModel.getShallow("symbolSize", true));
+        var symbolType2 = normalize(itemModel.getShallow("symbol", true));
+        var symbolSize2 = normalize(itemModel.getShallow("symbolSize", true));
         var color2 = itemModel.get(colorQuery);
         var opacity = itemModel.get(opacityQuery);
         switch (color2) {
@@ -38056,7 +38117,7 @@ function requireSimpleLayoutHelper() {
   if (hasRequiredSimpleLayoutHelper)
     return simpleLayoutHelper;
   hasRequiredSimpleLayoutHelper = 1;
-  var vec22 = vector$2;
+  var vec22 = requireVector();
   var zrUtil2 = util$8;
   var _multipleGraphEdgeHelper = requireMultipleGraphEdgeHelper();
   var getCurvenessForEdge = _multipleGraphEdgeHelper.getCurvenessForEdge;
@@ -38140,7 +38201,7 @@ function requireCircularLayoutHelper() {
   if (hasRequiredCircularLayoutHelper)
     return circularLayoutHelper;
   hasRequiredCircularLayoutHelper = 1;
-  var vec22 = vector$2;
+  var vec22 = requireVector();
   var _graphHelper = requireGraphHelper();
   var getSymbolSize = _graphHelper.getSymbolSize;
   var getNodeGlobalScale = _graphHelper.getNodeGlobalScale;
@@ -38247,8 +38308,8 @@ function requireForceHelper() {
   if (hasRequiredForceHelper)
     return forceHelper;
   hasRequiredForceHelper = 1;
-  var vec22 = vector$2;
-  var scaleAndAdd2 = vec22.scaleAndAdd;
+  var vec22 = requireVector();
+  var scaleAndAdd = vec22.scaleAndAdd;
   function forceLayout(nodes, edges, opts) {
     var rect = opts.rect;
     var width = rect.width;
@@ -38298,14 +38359,14 @@ function requireForceHelper() {
             w = 0;
           }
           vec22.normalize(v12, v12);
-          !n1.fixed && scaleAndAdd2(n1.p, n1.p, v12, w * d2 * friction);
-          !n22.fixed && scaleAndAdd2(n22.p, n22.p, v12, -(1 - w) * d2 * friction);
+          !n1.fixed && scaleAndAdd(n1.p, n1.p, v12, w * d2 * friction);
+          !n22.fixed && scaleAndAdd(n22.p, n22.p, v12, -(1 - w) * d2 * friction);
         }
         for (var i3 = 0; i3 < nLen; i3++) {
           var n3 = nodes[i3];
           if (!n3.fixed) {
             vec22.sub(v12, center2, n3.p);
-            scaleAndAdd2(n3.p, n3.p, v12, gravity * friction);
+            scaleAndAdd(n3.p, n3.p, v12, gravity * friction);
           }
         }
         for (var i3 = 0; i3 < nLen; i3++) {
@@ -38319,8 +38380,8 @@ function requireForceHelper() {
               d2 = 1;
             }
             var repFact = (n1.rep + n22.rep) / d2 / d2;
-            !n1.fixed && scaleAndAdd2(n1.pp, n1.pp, v12, repFact);
-            !n22.fixed && scaleAndAdd2(n22.pp, n22.pp, v12, -repFact);
+            !n1.fixed && scaleAndAdd(n1.pp, n1.pp, v12, repFact);
+            !n22.fixed && scaleAndAdd(n22.pp, n22.pp, v12, -repFact);
           }
         }
         var v = [];
@@ -38328,7 +38389,7 @@ function requireForceHelper() {
           var n3 = nodes[i3];
           if (!n3.fixed) {
             vec22.sub(v, n3.p, n3.pp);
-            scaleAndAdd2(n3.p, n3.p, v, friction);
+            scaleAndAdd(n3.p, n3.p, v, friction);
             vec22.copy(n3.pp, n3.p);
           }
         }
@@ -38354,7 +38415,7 @@ function requireForceLayout() {
   var circularLayout = _circularLayoutHelper.circularLayout;
   var _number2 = requireNumber();
   var linearMap = _number2.linearMap;
-  var vec22 = vector$2;
+  var vec22 = requireVector();
   var zrUtil2 = util$8;
   var _multipleGraphEdgeHelper = requireMultipleGraphEdgeHelper();
   var getCurvenessForEdge = _multipleGraphEdgeHelper.getCurvenessForEdge;
@@ -38860,13 +38921,13 @@ function requireGaugeView() {
         }
         if (labelModel.get("show")) {
           var label = formatLabel(round2(i2 / splitNumber * (maxVal - minVal) + minVal), labelModel.get("formatter"));
-          var distance2 = labelModel.get("distance");
+          var distance = labelModel.get("distance");
           var autoColor = getColor(i2 / splitNumber);
           group.add(new graphic2.Text({
             style: graphic2.setTextStyle({}, labelModel, {
               text: label,
-              x: unitX * (r2 - splitLineLen - distance2) + cx,
-              y: unitY * (r2 - splitLineLen - distance2) + cy,
+              x: unitX * (r2 - splitLineLen - distance) + cx,
+              y: unitY * (r2 - splitLineLen - distance) + cy,
               textVerticalAlign: unitY < -0.4 ? "top" : unitY > 0.4 ? "bottom" : "middle",
               textAlign: unitX < -0.4 ? "left" : unitX > 0.4 ? "right" : "center"
             }, {
@@ -39307,7 +39368,7 @@ function requireFunnelLayout() {
     });
     var indices = [];
     var isAscending = sort2 === "ascending";
-    for (var i2 = 0, len2 = data.count(); i2 < len2; i2++) {
+    for (var i2 = 0, len = data.count(); i2 < len; i2++) {
       indices[i2] = i2;
     }
     if (typeof sort2 === "function") {
@@ -39641,8 +39702,8 @@ function requireParallelAxis$1() {
   hasRequiredParallelAxis$1 = 1;
   var zrUtil2 = util$8;
   var Axis = requireAxis$1();
-  var ParallelAxis = function(dim, scale2, coordExtent, axisType, axisIndex) {
-    Axis.call(this, dim, scale2, coordExtent);
+  var ParallelAxis = function(dim, scale, coordExtent, axisType, axisIndex) {
+    Axis.call(this, dim, scale, coordExtent);
     this.type = axisType || "value";
     this.axisIndex = axisIndex;
   };
@@ -39724,19 +39785,19 @@ function requireParallel$2() {
     return Parallel_1;
   hasRequiredParallel$2 = 1;
   var zrUtil2 = util$8;
-  var matrix2 = matrix$4;
+  var matrix2 = requireMatrix();
   var layoutUtil = layout$1;
   var axisHelper2 = requireAxisHelper();
   var ParallelAxis = requireParallelAxis$1();
   var graphic2 = graphic$4;
-  var numberUtil2 = requireNumber();
+  var numberUtil = requireNumber();
   var sliderMove2 = requireSliderMove();
   var each2 = zrUtil2.each;
   var mathMin2 = Math.min;
   var mathMax2 = Math.max;
   var mathFloor = Math.floor;
   var mathCeil = Math.ceil;
-  var round2 = numberUtil2.round;
+  var round2 = numberUtil.round;
   var PI3 = Math.PI;
   function Parallel(parallelModel, ecModel, api2) {
     this._axesMap = zrUtil2.createHashMap();
@@ -40054,8 +40115,8 @@ function requireParallel$2() {
       };
     }
   };
-  function restrict(len2, extent) {
-    return mathMin2(mathMax2(len2, extent[0]), extent[1]);
+  function restrict(len, extent) {
+    return mathMin2(mathMax2(len, extent[0]), extent[1]);
   }
   function layoutAxisWithoutExpand(axisIndex, layoutInfo) {
     var step2 = layoutInfo.layoutLength / (layoutInfo.axisCount - 1);
@@ -40104,7 +40165,7 @@ function requireParallelCreator() {
   hasRequiredParallelCreator = 1;
   var Parallel = requireParallel$2();
   var CoordinateSystem$1 = CoordinateSystem;
-  function create2(ecModel, api2) {
+  function create(ecModel, api2) {
     var coordSysList = [];
     ecModel.eachComponent("parallel", function(parallelModel, idx) {
       var coordSys = new Parallel(parallelModel, ecModel, api2);
@@ -40127,7 +40188,7 @@ function requireParallelCreator() {
     return coordSysList;
   }
   CoordinateSystem$1.register("parallel", {
-    create: create2
+    create
   });
   return parallelCreator;
 }
@@ -40139,9 +40200,9 @@ function requireAxisModel$2() {
   hasRequiredAxisModel$2 = 1;
   var zrUtil2 = util$8;
   var ComponentModel2 = Component$1;
-  var makeStyleMapper2 = makeStyleMapper$3;
+  var makeStyleMapper2 = requireMakeStyleMapper();
   var axisModelCreator2 = requireAxisModelCreator();
-  var numberUtil2 = requireNumber();
+  var numberUtil = requireNumber();
   var axisModelCommonMixin2 = requireAxisModelCommonMixin();
   var AxisModel2 = ComponentModel2.extend({
     type: "baseParallelAxis",
@@ -40174,7 +40235,7 @@ function requireAxisModel$2() {
       var activeIntervals = this.activeIntervals = zrUtil2.clone(intervals);
       if (activeIntervals) {
         for (var i2 = activeIntervals.length - 1; i2 >= 0; i2--) {
-          numberUtil2.asc(activeIntervals[i2]);
+          numberUtil.asc(activeIntervals[i2]);
         }
       }
     },
@@ -40200,7 +40261,7 @@ function requireAxisModel$2() {
           return "active";
         }
       } else {
-        for (var i2 = 0, len2 = activeIntervals.length; i2 < len2; i2++) {
+        for (var i2 = 0, len = activeIntervals.length; i2 < len; i2++) {
           if (activeIntervals[i2][0] <= value && value <= activeIntervals[i2][1]) {
             return "active";
           }
@@ -41442,8 +41503,8 @@ function requireParallelView() {
       var coordSys = seriesModel.coordinateSystem;
       var dimensions = coordSys.dimensions;
       var seriesScope = makeSeriesScope(seriesModel);
-      data.diff(oldData).add(add2).update(update).remove(remove2).execute();
-      function add2(newDataIndex) {
+      data.diff(oldData).add(add).update(update).remove(remove2).execute();
+      function add(newDataIndex) {
         var line2 = addEl(data, dataGroup, newDataIndex, dimensions, coordSys);
         updateElCommon(line2, data, newDataIndex, seriesScope);
       }
@@ -41663,9 +41724,9 @@ function requireSankeySeries() {
   hasRequiredSankeySeries = 1;
   var SeriesModel2 = Series;
   var createGraphFromNodeEdge2 = requireCreateGraphFromNodeEdge();
-  var _format2 = format$4;
+  var _format2 = requireFormat();
   var encodeHTML2 = _format2.encodeHTML;
-  var Model2 = Model_1;
+  var Model2 = requireModel();
   var SankeySeries = SeriesModel2.extend({
     type: "series.sankey",
     layoutInfo: null,
@@ -42518,8 +42579,8 @@ function requireSankeyLayout() {
         if (node.outEdges.length) {
           var y = sum(node.outEdges, weightedTarget, orient) / sum(node.outEdges, getEdgeValue, orient);
           if (isNaN(y)) {
-            var len2 = node.outEdges.length;
-            y = len2 ? sum(node.outEdges, centerTarget, orient) / len2 : 0;
+            var len = node.outEdges.length;
+            y = len ? sum(node.outEdges, centerTarget, orient) / len : 0;
           }
           if (orient === "vertical") {
             var nodeX = node.getLayout().x + (y - center2(node, orient)) * alpha;
@@ -42556,9 +42617,9 @@ function requireSankeyLayout() {
   }
   function sum(array, cb, orient) {
     var sum2 = 0;
-    var len2 = array.length;
+    var len = array.length;
     var i2 = -1;
-    while (++i2 < len2) {
+    while (++i2 < len) {
       var value = +cb.call(array, array[i2], orient);
       if (!isNaN(value)) {
         sum2 += value;
@@ -42572,8 +42633,8 @@ function requireSankeyLayout() {
         if (node.inEdges.length) {
           var y = sum(node.inEdges, weightedSource, orient) / sum(node.inEdges, getEdgeValue, orient);
           if (isNaN(y)) {
-            var len2 = node.inEdges.length;
-            y = len2 ? sum(node.inEdges, centerSource, orient) / len2 : 0;
+            var len = node.inEdges.length;
+            y = len ? sum(node.inEdges, centerSource, orient) / len : 0;
           }
           if (orient === "vertical") {
             var nodeX = node.getLayout().x + (y - center2(node, orient)) * alpha;
@@ -43963,7 +44024,7 @@ function requireEffectScatterView() {
   var echarts2 = echarts$3;
   var SymbolDraw = requireSymbolDraw();
   var EffectSymbol = requireEffectSymbol();
-  var matrix2 = matrix$4;
+  var matrix2 = requireMatrix();
   var pointsLayout = requirePoints();
   var _default68 = echarts2.extendChartView({
     type: "effectScatter",
@@ -44031,7 +44092,7 @@ function requireLinesSeries() {
   var concatArray2 = _util2.concatArray;
   var mergeAll2 = _util2.mergeAll;
   var map2 = _util2.map;
-  var _format2 = format$4;
+  var _format2 = requireFormat();
   var encodeHTML2 = _format2.encodeHTML;
   var Uint32Arr = typeof Uint32Array === "undefined" ? Array : Uint32Array;
   var Float64Arr = typeof Float64Array === "undefined" ? Array : Float64Array;
@@ -44109,13 +44170,13 @@ function requireLinesSeries() {
     getLineCoords: function(idx, out2) {
       if (this._flatCoordsOffset) {
         var offset2 = this._flatCoordsOffset[idx * 2];
-        var len2 = this._flatCoordsOffset[idx * 2 + 1];
-        for (var i2 = 0; i2 < len2; i2++) {
+        var len = this._flatCoordsOffset[idx * 2 + 1];
+        for (var i2 = 0; i2 < len; i2++) {
           out2[i2] = out2[i2] || [];
           out2[i2][0] = this._flatCoords[offset2 + i2 * 2];
           out2[i2][1] = this._flatCoords[offset2 + i2 * 2 + 1];
         }
-        return len2;
+        return len;
       } else {
         var coords = this._getCoordsFromItemModel(idx);
         for (var i2 = 0; i2 < coords.length; i2++) {
@@ -44132,13 +44193,13 @@ function requireLinesSeries() {
         startOffset = this._flatCoords.length;
       }
       if (typeof data[0] === "number") {
-        var len2 = data.length;
-        var coordsOffsetAndLenStorage = new Uint32Arr(len2);
-        var coordsStorage = new Float64Arr(len2);
+        var len = data.length;
+        var coordsOffsetAndLenStorage = new Uint32Arr(len);
+        var coordsStorage = new Float64Arr(len);
         var coordsCursor = 0;
         var offsetCursor = 0;
         var dataCount = 0;
-        for (var i2 = 0; i2 < len2; ) {
+        for (var i2 = 0; i2 < len; ) {
           dataCount++;
           var count = data[i2++];
           coordsOffsetAndLenStorage[offsetCursor++] = coordsCursor + startOffset;
@@ -44273,7 +44334,7 @@ function requireEffectLine() {
   var zrUtil2 = util$8;
   var _symbol = requireSymbol$1();
   var createSymbol = _symbol.createSymbol;
-  var vec22 = vector$2;
+  var vec22 = requireVector();
   var curveUtil = curve$3;
   function EffectLine(lineData, idx, seriesScope) {
     graphic2.Group.call(this);
@@ -44481,7 +44542,7 @@ function requireEffectPolyline() {
   var Polyline2 = requirePolyline();
   var zrUtil2 = util$8;
   var EffectLine = requireEffectLine();
-  var vec22 = vector$2;
+  var vec22 = requireVector();
   function EffectPolyline(lineData, idx, seriesScope) {
     EffectLine.call(this, lineData, idx, seriesScope);
     this._lastFrame = 0;
@@ -44494,21 +44555,21 @@ function requireEffectPolyline() {
   effectPolylineProto.updateAnimationPoints = function(symbol2, points2) {
     this._points = points2;
     var accLenArr = [0];
-    var len2 = 0;
+    var len = 0;
     for (var i2 = 1; i2 < points2.length; i2++) {
       var p1 = points2[i2 - 1];
       var p2 = points2[i2];
-      len2 += vec22.dist(p1, p2);
-      accLenArr.push(len2);
+      len += vec22.dist(p1, p2);
+      accLenArr.push(len);
     }
-    if (len2 === 0) {
+    if (len === 0) {
       return;
     }
     for (var i2 = 0; i2 < accLenArr.length; i2++) {
-      accLenArr[i2] /= len2;
+      accLenArr[i2] /= len;
     }
     this._offsets = accLenArr;
-    this._length = len2;
+    this._length = len;
   };
   effectPolylineProto.getLineLength = function(symbol2) {
     return this._length;
@@ -44517,27 +44578,27 @@ function requireEffectPolyline() {
     var t2 = symbol2.__t;
     var points2 = this._points;
     var offsets = this._offsets;
-    var len2 = points2.length;
+    var len = points2.length;
     if (!offsets) {
       return;
     }
     var lastFrame = this._lastFrame;
     var frame;
     if (t2 < this._lastFramePercent) {
-      var start = Math.min(lastFrame + 1, len2 - 1);
+      var start = Math.min(lastFrame + 1, len - 1);
       for (frame = start; frame >= 0; frame--) {
         if (offsets[frame] <= t2) {
           break;
         }
       }
-      frame = Math.min(frame, len2 - 2);
+      frame = Math.min(frame, len - 2);
     } else {
-      for (var frame = lastFrame; frame < len2; frame++) {
+      for (var frame = lastFrame; frame < len; frame++) {
         if (offsets[frame] > t2) {
           break;
         }
       }
-      frame = Math.min(frame - 1, len2 - 2);
+      frame = Math.min(frame - 1, len - 2);
     }
     vec22.lerp(symbol2.position, points2[frame], points2[frame + 1], (t2 - offsets[frame]) / (offsets[frame + 1] - offsets[frame]));
     var tx = points2[frame + 1][0] - points2[frame][0];
@@ -44762,11 +44823,11 @@ function requireLinesLayout() {
           var offset2 = 0;
           var pt = [];
           for (var i2 = params.start; i2 < params.end; i2++) {
-            var len2 = seriesModel.getLineCoords(i2, lineCoords);
+            var len = seriesModel.getLineCoords(i2, lineCoords);
             if (isPolyline) {
-              points2[offset2++] = len2;
+              points2[offset2++] = len;
             }
-            for (var k = 0; k < len2; k++) {
+            for (var k = 0; k < len; k++) {
               pt = coordSys.dataToPoint(lineCoords[k], false, pt);
               points2[offset2++] = pt[0];
               points2[offset2++] = pt[1];
@@ -44776,10 +44837,10 @@ function requireLinesLayout() {
         } else {
           for (var i2 = params.start; i2 < params.end; i2++) {
             var itemModel = lineData.getItemModel(i2);
-            var len2 = seriesModel.getLineCoords(i2, lineCoords);
+            var len = seriesModel.getLineCoords(i2, lineCoords);
             var pts = [];
             if (isPolyline) {
-              for (var j = 0; j < len2; j++) {
+              for (var j = 0; j < len; j++) {
                 pts.push(coordSys.dataToPoint(lineCoords[j]));
               }
             } else {
@@ -44931,7 +44992,7 @@ function requireLinesVisual() {
   if (hasRequiredLinesVisual)
     return linesVisual;
   hasRequiredLinesVisual = 1;
-  function normalize2(a2) {
+  function normalize(a2) {
     if (!(a2 instanceof Array)) {
       a2 = [a2, a2];
     }
@@ -44941,8 +45002,8 @@ function requireLinesVisual() {
   var _default68 = {
     seriesType: "lines",
     reset: function(seriesModel, ecModel, api2) {
-      var symbolType = normalize2(seriesModel.get("symbol"));
-      var symbolSize = normalize2(seriesModel.get("symbolSize"));
+      var symbolType = normalize(seriesModel.get("symbol"));
+      var symbolSize = normalize(seriesModel.get("symbolSize"));
       var data = seriesModel.getData();
       data.setVisual("fromSymbol", symbolType && symbolType[0]);
       data.setVisual("toSymbol", symbolType && symbolType[1]);
@@ -44951,8 +45012,8 @@ function requireLinesVisual() {
       data.setVisual("opacity", seriesModel.get(opacityQuery));
       function dataEach(data2, idx) {
         var itemModel = data2.getItemModel(idx);
-        var symbolType2 = normalize2(itemModel.getShallow("symbol", true));
-        var symbolSize2 = normalize2(itemModel.getShallow("symbolSize", true));
+        var symbolType2 = normalize(itemModel.getShallow("symbol", true));
+        var symbolSize2 = normalize(itemModel.getShallow("symbolSize", true));
         var opacity = itemModel.get(opacityQuery);
         symbolType2[0] && data2.setItemVisual(idx, "fromSymbol", symbolType2[0]);
         symbolType2[1] && data2.setItemVisual(idx, "toSymbol", symbolType2[1]);
@@ -45048,22 +45109,22 @@ function requireHeatmapLayer() {
      * @param {number} width canvas width
      * @param {number} height canvas height
      */
-    update: function(data, width, height, normalize2, colorFunc, isInRange) {
+    update: function(data, width, height, normalize, colorFunc, isInRange) {
       var brush2 = this._getBrush();
       var gradientInRange = this._getGradient(data, colorFunc, "inRange");
       var gradientOutOfRange = this._getGradient(data, colorFunc, "outOfRange");
       var r2 = this.pointSize + this.blurSize;
       var canvas = this.canvas;
       var ctx = canvas.getContext("2d");
-      var len2 = data.length;
+      var len = data.length;
       canvas.width = width;
       canvas.height = height;
-      for (var i2 = 0; i2 < len2; ++i2) {
+      for (var i2 = 0; i2 < len; ++i2) {
         var p = data[i2];
         var x = p[0];
         var y = p[1];
         var value = p[2];
-        var alpha = normalize2(value);
+        var alpha = normalize(value);
         ctx.globalAlpha = alpha;
         ctx.drawImage(brush2, x - r2, y - r2);
       }
@@ -45156,17 +45217,17 @@ function requireHeatmapView() {
         interval: [(piece.interval[0] - dataExtent[0]) / dataSpan, (piece.interval[1] - dataExtent[0]) / dataSpan]
       };
     });
-    var len2 = pieceList.length;
+    var len = pieceList.length;
     var lastIndex = 0;
     return function(val) {
-      for (var i2 = lastIndex; i2 < len2; i2++) {
+      for (var i2 = lastIndex; i2 < len; i2++) {
         var interval = pieceList[i2].interval;
         if (interval[0] <= val && val <= interval[1]) {
           lastIndex = i2;
           break;
         }
       }
-      if (i2 === len2) {
+      if (i2 === len) {
         for (var i2 = lastIndex - 1; i2 >= 0; i2--) {
           var interval = pieceList[i2].interval;
           if (interval[0] <= val && val <= interval[1]) {
@@ -45175,7 +45236,7 @@ function requireHeatmapView() {
           }
         }
       }
-      return i2 >= 0 && i2 < len2 && selected[i2];
+      return i2 >= 0 && i2 < len && selected[i2];
     };
   }
   function getIsInContinuousRange(dataExtent, range2) {
@@ -45838,14 +45899,14 @@ function requirePictorialBarView() {
   }
   function updateHoverAnimation(path2, symbolMeta) {
     path2.off("emphasis").off("normal");
-    var scale2 = symbolMeta.symbolScale.slice();
+    var scale = symbolMeta.symbolScale.slice();
     symbolMeta.hoverAnimation && path2.on("emphasis", function() {
       this.animateTo({
-        scale: [scale2[0] * 1.1, scale2[1] * 1.1]
+        scale: [scale[0] * 1.1, scale[1] * 1.1]
       }, 400, "elasticOut");
     }).on("normal", function() {
       this.animateTo({
-        scale: scale2.slice()
+        scale: scale.slice()
       }, 400, "elasticOut");
     });
   }
@@ -45975,8 +46036,8 @@ function requireSingleAxis$1() {
   hasRequiredSingleAxis$1 = 1;
   var zrUtil2 = util$8;
   var Axis = requireAxis$1();
-  var SingleAxis = function(dim, scale2, coordExtent, axisType, position) {
-    Axis.call(this, dim, scale2, coordExtent);
+  var SingleAxis = function(dim, scale, coordExtent, axisType, position) {
+    Axis.call(this, dim, scale, coordExtent);
     this.type = axisType || "value";
     this.position = position || "bottom";
     this.orient = null;
@@ -46222,7 +46283,7 @@ function requireSingleCreator() {
   hasRequiredSingleCreator = 1;
   var Single = requireSingle();
   var CoordinateSystem$1 = CoordinateSystem;
-  function create2(ecModel, api2) {
+  function create(ecModel, api2) {
     var singles = [];
     ecModel.eachComponent("singleAxis", function(axisModel, idx) {
       var single = new Single(axisModel, ecModel, api2);
@@ -46244,7 +46305,7 @@ function requireSingleCreator() {
     return singles;
   }
   CoordinateSystem$1.register("single", {
-    create: create2,
+    create,
     dimensions: Single.prototype.dimensions
   });
   return singleCreator;
@@ -47463,8 +47524,8 @@ function requireViewHelper() {
   var zrUtil2 = util$8;
   var graphic2 = graphic$4;
   var textContain2 = text;
-  var formatUtil2 = format$4;
-  var matrix2 = matrix$4;
+  var formatUtil2 = requireFormat();
+  var matrix2 = requireMatrix();
   var axisHelper2 = requireAxisHelper();
   var AxisBuilder = requireAxisBuilder();
   function buildElStyle(axisPointerModel) {
@@ -47891,7 +47952,7 @@ function requireThemeRiverSeries() {
   var zrUtil2 = util$8;
   var _model2 = model;
   var groupData2 = _model2.groupData;
-  var _format2 = format$4;
+  var _format2 = requireFormat();
   var encodeHTML2 = _format2.encodeHTML;
   var LegendVisualProvider = requireLegendVisualProvider();
   var DATA_NAME_INDEX = 2;
@@ -48252,7 +48313,7 @@ function requireThemeRiverLayout() {
     return themeRiverLayout_1;
   hasRequiredThemeRiverLayout = 1;
   var zrUtil2 = util$8;
-  var numberUtil2 = requireNumber();
+  var numberUtil = requireNumber();
   function _default68(ecModel, api2) {
     ecModel.eachSeriesByType("themeRiver", function(seriesModel) {
       var data = seriesModel.getData();
@@ -48264,13 +48325,13 @@ function requireThemeRiverLayout() {
       var axis2 = single.getAxis();
       layoutInfo.boundaryGap = boundaryGap;
       if (axis2.orient === "horizontal") {
-        boundaryGap[0] = numberUtil2.parsePercent(boundaryGap[0], rect.height);
-        boundaryGap[1] = numberUtil2.parsePercent(boundaryGap[1], rect.height);
+        boundaryGap[0] = numberUtil.parsePercent(boundaryGap[0], rect.height);
+        boundaryGap[1] = numberUtil.parsePercent(boundaryGap[1], rect.height);
         var height = rect.height - boundaryGap[0] - boundaryGap[1];
         themeRiverLayout(data, seriesModel, height);
       } else {
-        boundaryGap[0] = numberUtil2.parsePercent(boundaryGap[0], rect.width);
-        boundaryGap[1] = numberUtil2.parsePercent(boundaryGap[1], rect.width);
+        boundaryGap[0] = numberUtil.parsePercent(boundaryGap[0], rect.width);
+        boundaryGap[1] = numberUtil.parsePercent(boundaryGap[1], rect.width);
         var width = rect.width - boundaryGap[0] - boundaryGap[1];
         themeRiverLayout(data, seriesModel, width);
       }
@@ -48409,7 +48470,7 @@ function requireSunburstSeries() {
   var zrUtil2 = util$8;
   var SeriesModel2 = Series;
   var Tree2 = requireTree$1();
-  var Model2 = Model_1;
+  var Model2 = requireModel();
   var _treeHelper = requireTreeHelper();
   var wrapTreePathInfo = _treeHelper.wrapTreePathInfo;
   var _default68 = SeriesModel2.extend({
@@ -48748,23 +48809,23 @@ function requireSunburstPiece() {
     var textY = r2 * dy + layout2.cy;
     label.attr("position", [textX, textY]);
     var rotateType = getLabelAttr("rotate");
-    var rotate2 = 0;
+    var rotate = 0;
     if (rotateType === "radial") {
-      rotate2 = -midAngle;
-      if (rotate2 < -Math.PI / 2) {
-        rotate2 += Math.PI;
+      rotate = -midAngle;
+      if (rotate < -Math.PI / 2) {
+        rotate += Math.PI;
       }
     } else if (rotateType === "tangential") {
-      rotate2 = Math.PI / 2 - midAngle;
-      if (rotate2 > Math.PI / 2) {
-        rotate2 -= Math.PI;
-      } else if (rotate2 < -Math.PI / 2) {
-        rotate2 += Math.PI;
+      rotate = Math.PI / 2 - midAngle;
+      if (rotate > Math.PI / 2) {
+        rotate -= Math.PI;
+      } else if (rotate < -Math.PI / 2) {
+        rotate += Math.PI;
       }
     } else if (typeof rotateType === "number") {
-      rotate2 = rotateType * Math.PI / 180;
+      rotate = rotateType * Math.PI / 180;
     }
-    label.attr("rotation", rotate2);
+    label.attr("rotation", rotate);
     function getLabelAttr(name2) {
       var stateAttr = labelModel.get(name2);
       if (stateAttr == null) {
@@ -48809,8 +48870,8 @@ function requireSunburstPiece() {
     } else if (node.depth === 0) {
       return ecModel.option.color[0];
     } else {
-      var length2 = ecModel.option.color.length;
-      color2 = ecModel.option.color[getRootId(node) % length2];
+      var length = ecModel.option.color.length;
+      color2 = ecModel.option.color[getRootId(node) % length];
     }
     return color2;
   }
@@ -48850,8 +48911,8 @@ function requireSunburstView() {
   var ChartView = Chart_1;
   var SunburstPiece = requireSunburstPiece();
   var DataDiffer = requireDataDiffer();
-  var _format2 = format$4;
-  var windowOpen2 = _format2.windowOpen;
+  var _format2 = requireFormat();
+  var windowOpen = _format2.windowOpen;
   var ROOT_TO_NODE_ACTION = "sunburstRootToNode";
   var SunburstView = ChartView.extend({
     type: "sunburst",
@@ -48972,7 +49033,7 @@ function requireSunburstView() {
               var link = itemModel.get("link");
               if (link) {
                 var linkTarget = itemModel.get("target", true) || "_blank";
-                windowOpen2(link, linkTarget);
+                windowOpen(link, linkTarget);
               }
             }
             targetFound = true;
@@ -49438,7 +49499,7 @@ function requireCustom() {
   var getLayoutOnAxis = _barGrid.getLayoutOnAxis;
   var DataDiffer = requireDataDiffer();
   var SeriesModel2 = Series;
-  var Model2 = Model_1;
+  var Model2 = requireModel();
   var ChartView = Chart_1;
   var _createClipPathFromCoordSys = requireCreateClipPathFromCoordSys();
   var createClipPath = _createClipPathFromCoordSys.createClipPath;
@@ -49939,7 +50000,7 @@ function requireBarPolar() {
       );
       var clampLayout = baseAxis.dim !== "radius" || !seriesModel.get("roundCap", true);
       var valueAxisStart = valueAxis.dim === "radius" ? valueAxis.dataToRadius(0) : valueAxis.dataToAngle(0);
-      for (var idx = 0, len2 = data.count(); idx < len2; idx++) {
+      for (var idx = 0, len = data.count(); idx < len; idx++) {
         var value = data.get(valueDim, idx);
         var baseValue = data.get(baseDim, idx);
         var sign = value >= 0 ? "p" : "n";
@@ -50096,8 +50157,8 @@ function requireRadiusAxis$1() {
   hasRequiredRadiusAxis$1 = 1;
   var zrUtil2 = util$8;
   var Axis = requireAxis$1();
-  function RadiusAxis(scale2, radiusExtent) {
-    Axis.call(this, "radius", scale2, radiusExtent);
+  function RadiusAxis(scale, radiusExtent) {
+    Axis.call(this, "radius", scale, radiusExtent);
     this.type = "category";
   }
   RadiusAxis.prototype = {
@@ -50128,9 +50189,9 @@ function requireAngleAxis$1() {
   var _model2 = model;
   var makeInner2 = _model2.makeInner;
   var inner2 = makeInner2();
-  function AngleAxis(scale2, angleExtent) {
+  function AngleAxis(scale, angleExtent) {
     angleExtent = angleExtent || [0, 360];
-    Axis.call(this, "angle", scale2, angleExtent);
+    Axis.call(this, "angle", scale, angleExtent);
     this.type = "category";
   }
   AngleAxis.prototype = {
@@ -50591,7 +50652,7 @@ function requireAngleAxisView() {
   hasRequiredAngleAxisView = 1;
   var zrUtil2 = util$8;
   var graphic2 = graphic$4;
-  var Model2 = Model_1;
+  var Model2 = requireModel();
   var AxisView = requireAxisView();
   var AxisBuilder = requireAxisBuilder();
   var elementList = ["axisLine", "axisLabel", "axisTick", "minorTick", "splitLine", "minorSplitLine", "splitArea"];
@@ -51034,11 +51095,11 @@ function requirePolarAxisPointer() {
   if (hasRequiredPolarAxisPointer)
     return PolarAxisPointer_1;
   hasRequiredPolarAxisPointer = 1;
-  var formatUtil2 = format$4;
+  var formatUtil2 = requireFormat();
   var BaseAxisPointer = requireBaseAxisPointer();
   var graphic2 = graphic$4;
   var viewHelper2 = requireViewHelper();
-  var matrix2 = matrix$4;
+  var matrix2 = requireMatrix();
   var AxisBuilder = requireAxisBuilder();
   var AxisView = requireAxisView();
   var PolarAxisPointer = BaseAxisPointer.extend({
@@ -51169,7 +51230,7 @@ function requireGeoModel() {
   var zrUtil2 = util$8;
   var modelUtil2 = model;
   var ComponentModel2 = Component$1;
-  var Model2 = Model_1;
+  var Model2 = requireModel();
   var selectableMixin2 = requireSelectableMixin();
   var geoCreator = requireGeoCreator();
   var GeoModel = ComponentModel2.extend({
@@ -51375,7 +51436,7 @@ function requireCalendar$1() {
   hasRequiredCalendar$1 = 1;
   var zrUtil2 = util$8;
   var layout2 = layout$1;
-  var numberUtil2 = requireNumber();
+  var numberUtil = requireNumber();
   var CoordinateSystem$1 = CoordinateSystem;
   var PROXIMATE_ONE_DAY = 864e5;
   function Calendar(calendarModel, ecModel, api2) {
@@ -51438,7 +51499,7 @@ function requireCalendar$1() {
      * }
      */
     getDateInfo: function(date) {
-      date = numberUtil2.parseDate(date);
+      date = numberUtil.parseDate(date);
       var y = date.getFullYear();
       var m2 = date.getMonth() + 1;
       m2 = m2 < 10 ? "0" + m2 : m2;
@@ -51824,8 +51885,8 @@ function requireCalendarView() {
   var echarts2 = echarts$3;
   var zrUtil2 = util$8;
   var graphic2 = graphic$4;
-  var formatUtil2 = format$4;
-  var numberUtil2 = requireNumber();
+  var formatUtil2 = requireFormat();
+  var numberUtil = requireNumber();
   var MONTH_TEXT = {
     EN: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"],
     CN: ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"]
@@ -51977,12 +52038,12 @@ function requireCalendarView() {
       } else {
         point[1] -= margin;
       }
-      var rotate2 = 0;
+      var rotate = 0;
       if (position === "left" || position === "right") {
-        rotate2 = Math.PI / 2;
+        rotate = Math.PI / 2;
       }
       return {
-        rotation: rotate2,
+        rotation: rotate,
         position: point,
         style: {
           textAlign: aligns[0],
@@ -52139,7 +52200,7 @@ function requireCalendarView() {
       }
       var start = coordSys.getNextNDay(rangeData.end.time, 7 - rangeData.lweek).time;
       var cellSize = [coordSys.getCellWidth(), coordSys.getCellHeight()];
-      margin = numberUtil2.parsePercent(margin, cellSize[orient === "horizontal" ? 0 : 1]);
+      margin = numberUtil.parsePercent(margin, cellSize[orient === "horizontal" ? 0 : 1]);
       if (pos === "start") {
         start = coordSys.getNextNDay(rangeData.start.time, -(7 + rangeData.fweek)).time;
         margin = -margin;
@@ -52642,7 +52703,7 @@ function requireListComponent() {
   var getLayoutRect2 = _layout2.getLayoutRect;
   var layoutBox = _layout2.box;
   var positionElement2 = _layout2.positionElement;
-  var formatUtil2 = format$4;
+  var formatUtil2 = requireFormat();
   var graphic2 = graphic$4;
   function layout2(group, componentModel, api2) {
     var boxLayoutParams = componentModel.getBoxLayoutParams();
@@ -52688,7 +52749,7 @@ function requireToolboxView() {
   var textContain2 = text;
   var featureManager2 = requireFeatureManager();
   var graphic2 = graphic$4;
-  var Model2 = Model_1;
+  var Model2 = requireModel();
   var DataDiffer = requireDataDiffer();
   var listComponentHelper = requireListComponent();
   var _default68 = echarts2.extendComponentView({
@@ -53831,7 +53892,7 @@ function requireHelper$1() {
     return helper$1;
   hasRequiredHelper$1 = 1;
   var zrUtil2 = util$8;
-  var formatUtil2 = format$4;
+  var formatUtil2 = requireFormat();
   var AXIS_DIMS = ["x", "y", "z", "radius", "angle", "single"];
   var COORDS = ["cartesian2d", "polar", "singleAxis"];
   function isCoordSupported(coordType) {
@@ -53917,11 +53978,11 @@ function requireAxisProxy() {
     return AxisProxy_1;
   hasRequiredAxisProxy = 1;
   var zrUtil2 = util$8;
-  var numberUtil2 = requireNumber();
+  var numberUtil = requireNumber();
   var helper2 = requireHelper$1();
   var sliderMove2 = requireSliderMove();
   var each2 = zrUtil2.each;
-  var asc = numberUtil2.asc;
+  var asc = numberUtil.asc;
   var AxisProxy = function(dimName, axisIndex, dataZoomModel, ecModel) {
     this._dimName = dimName;
     this._axisIndex = axisIndex;
@@ -54019,7 +54080,7 @@ function requireAxisProxy() {
     calculateDataWindow: function(opt) {
       var dataExtent = this._dataExtent;
       var axisModel = this.getAxisModel();
-      var scale2 = axisModel.axis.scale;
+      var scale = axisModel.axis.scale;
       var rangePropMode = this._dataZoomModel.getRangePropMode();
       var percentExtent = [0, 100];
       var percentWindow = [];
@@ -54030,11 +54091,11 @@ function requireAxisProxy() {
         var boundValue = opt[prop + "Value"];
         if (rangePropMode[idx] === "percent") {
           boundPercent == null && (boundPercent = percentExtent[idx]);
-          boundValue = scale2.parse(numberUtil2.linearMap(boundPercent, percentExtent, dataExtent));
+          boundValue = scale.parse(numberUtil.linearMap(boundPercent, percentExtent, dataExtent));
         } else {
           hasPropModeValue = true;
-          boundValue = boundValue == null ? dataExtent[idx] : scale2.parse(boundValue);
-          boundPercent = numberUtil2.linearMap(boundValue, dataExtent, percentExtent);
+          boundValue = boundValue == null ? dataExtent[idx] : scale.parse(boundValue);
+          boundPercent = numberUtil.linearMap(boundValue, dataExtent, percentExtent);
         }
         valueWindow[idx] = boundValue;
         percentWindow[idx] = boundPercent;
@@ -54047,8 +54108,8 @@ function requireAxisProxy() {
         var suffix = toValue2 ? "Span" : "ValueSpan";
         sliderMove2(0, fromWindow, fromExtent, "all", spans["min" + suffix], spans["max" + suffix]);
         for (var i2 = 0; i2 < 2; i2++) {
-          toWindow[i2] = numberUtil2.linearMap(fromWindow[i2], fromExtent, toExtent, true);
-          toValue2 && (toWindow[i2] = scale2.parse(toWindow[i2]));
+          toWindow[i2] = numberUtil.linearMap(fromWindow[i2], fromExtent, toExtent, true);
+          toValue2 && (toWindow[i2] = scale.parse(toWindow[i2]));
         }
       }
       return {
@@ -54193,7 +54254,7 @@ function requireAxisProxy() {
     if (!percentWindow) {
       return;
     }
-    var precision = numberUtil2.getPixelPrecision(valueWindow, [0, 500]);
+    var precision = numberUtil.getPixelPrecision(valueWindow, [0, 500]);
     precision = Math.min(precision, 20);
     var useOrigin = isRestore || percentWindow[0] === 0 && percentWindow[1] === 100;
     axisModel.setRange(useOrigin ? null : +valueWindow[0].toFixed(precision), useOrigin ? null : +valueWindow[1].toFixed(precision));
@@ -54207,9 +54268,9 @@ function requireAxisProxy() {
       var valueSpan = dataZoomModel.get(minMax + "ValueSpan");
       valueSpan != null && (valueSpan = axisProxy.getAxisModel().axis.scale.parse(valueSpan));
       if (valueSpan != null) {
-        percentSpan = numberUtil2.linearMap(dataExtent[0] + valueSpan, dataExtent, [0, 100], true);
+        percentSpan = numberUtil.linearMap(dataExtent[0] + valueSpan, dataExtent, [0, 100], true);
       } else if (percentSpan != null) {
-        valueSpan = numberUtil2.linearMap(percentSpan, [0, 100], dataExtent, true) - dataExtent[0];
+        valueSpan = numberUtil.linearMap(percentSpan, [0, 100], dataExtent, true) - dataExtent[0];
       }
       minMaxSpan[minMax + "Span"] = percentSpan;
       minMaxSpan[minMax + "ValueSpan"] = valueSpan;
@@ -54412,7 +54473,7 @@ function requireDataZoomModel() {
           var axisIndices = [];
           var axisModels = this.dependentModels[dimNames.axis];
           if (axisModels.length && !axisIndices.length) {
-            for (var i2 = 0, len2 = axisModels.length; i2 < len2; i2++) {
+            for (var i2 = 0, len = axisModels.length; i2 < len; i2++) {
               if (axisModels[i2].get("type") === "category") {
                 axisIndices.push(i2);
               }
@@ -55209,7 +55270,7 @@ function requireTooltipContent() {
   var eventUtil2 = event$1;
   var domUtil = dom;
   var env2 = env_1;
-  var formatUtil2 = format$4;
+  var formatUtil2 = requireFormat();
   var each2 = zrUtil2.each;
   var toCamelCase2 = formatUtil2.toCamelCase;
   var vendors = ["", "-webkit-", "-moz-", "-o-"];
@@ -55624,12 +55685,12 @@ function requireTooltipView() {
   var env2 = env_1;
   var TooltipContent = requireTooltipContent();
   var TooltipRichContent = requireTooltipRichContent();
-  var formatUtil2 = format$4;
-  var numberUtil2 = requireNumber();
+  var formatUtil2 = requireFormat();
+  var numberUtil = requireNumber();
   var graphic2 = graphic$4;
   var findPointFromSeries2 = requireFindPointFromSeries();
   var layoutUtil = layout$1;
-  var Model2 = Model_1;
+  var Model2 = requireModel();
   var globalListener2 = requireGlobalListener();
   var axisHelper2 = requireAxisHelper();
   var axisPointerViewHelper = requireViewHelper();
@@ -55637,7 +55698,7 @@ function requireTooltipView() {
   var getTooltipRenderMode2 = _model2.getTooltipRenderMode;
   var bind2 = zrUtil2.bind;
   var each2 = zrUtil2.each;
-  var parsePercent2 = numberUtil2.parsePercent;
+  var parsePercent2 = numberUtil.parsePercent;
   var proxyRect = new graphic2.Rect({
     shape: {
       x: -1,
@@ -56352,7 +56413,7 @@ function requireVisualSolution() {
       var valueState = getValueState.call(scope, valueOrIndex);
       var mappings = visualMappings[valueState];
       var visualTypes = visualTypesMap[valueState];
-      for (var i2 = 0, len2 = visualTypes.length; i2 < len2; i2++) {
+      for (var i2 = 0, len = visualTypes.length; i2 < len; i2++) {
         var type2 = visualTypes[i2];
         mappings[type2] && mappings[type2].applyVisual(valueOrIndex, getVisual, setVisual);
       }
@@ -56384,7 +56445,7 @@ function requireVisualSolution() {
         var valueState = getValueState(value);
         var mappings = visualMappings[valueState];
         var visualTypes = visualTypesMap[valueState];
-        for (var i2 = 0, len2 = visualTypes.length; i2 < len2; i2++) {
+        for (var i2 = 0, len = visualTypes.length; i2 < len; i2++) {
           var type2 = visualTypes[i2];
           mappings[type2] && mappings[type2].applyVisual(value, getVisual, setVisual);
         }
@@ -56621,7 +56682,7 @@ function requireVisualEncoding$1() {
     }
   }
   function checkInRange(selectorsByBrushType, rangeInfoList, data, dataIndex) {
-    for (var i2 = 0, len2 = rangeInfoList.length; i2 < len2; i2++) {
+    for (var i2 = 0, len = rangeInfoList.length; i2 < len; i2++) {
       var area = rangeInfoList[i2];
       if (selectorsByBrushType[area.brushType](dataIndex, data, area.selectors, area)) {
         return true;
@@ -56670,7 +56731,7 @@ function requireVisualEncoding$1() {
     polygon: function(area) {
       var minMax;
       var range2 = area.range;
-      for (var i2 = 0, len2 = range2.length; i2 < len2; i2++) {
+      for (var i2 = 0, len = range2.length; i2 < len; i2++) {
         minMax = minMax || [[Infinity, -Infinity], [Infinity, -Infinity]];
         var rg = range2[i2];
         rg[0] < minMax[0][0] && (minMax[0][0] = rg[0]);
@@ -56696,7 +56757,7 @@ function requireBrushModel() {
   var echarts2 = echarts$3;
   var zrUtil2 = util$8;
   var visualSolution2 = requireVisualSolution();
-  var Model2 = Model_1;
+  var Model2 = requireModel();
   var DEFAULT_OUT_OF_BRUSH_COLOR = ["#ddd"];
   var BrushModel = echarts2.extendComponentModel({
     type: "brush",
@@ -57047,8 +57108,8 @@ function requireTitle() {
   var graphic2 = graphic$4;
   var _layout2 = layout$1;
   var getLayoutRect2 = _layout2.getLayoutRect;
-  var _format2 = format$4;
-  var windowOpen2 = _format2.windowOpen;
+  var _format2 = requireFormat();
+  var windowOpen = _format2.windowOpen;
   echarts2.extendComponentModel({
     type: "title",
     layoutMode: {
@@ -57148,12 +57209,12 @@ function requireTitle() {
       subTextEl.silent = !sublink && !triggerEvent;
       if (link) {
         textEl.on("click", function() {
-          windowOpen2(link, "_" + titleModel.get("target"));
+          windowOpen(link, "_" + titleModel.get("target"));
         });
       }
       if (sublink) {
         subTextEl.on("click", function() {
-          windowOpen2(sublink, "_" + titleModel.get("subtarget"));
+          windowOpen(sublink, "_" + titleModel.get("subtarget"));
         });
       }
       textEl.eventData = subTextEl.eventData = triggerEvent ? {
@@ -57632,8 +57693,8 @@ function requireTimelineAxis() {
   hasRequiredTimelineAxis = 1;
   var zrUtil2 = util$8;
   var Axis = requireAxis$1();
-  var TimelineAxis = function(dim, scale2, coordExtent, axisType) {
-    Axis.call(this, dim, scale2, coordExtent);
+  var TimelineAxis = function(dim, scale, coordExtent, axisType) {
+    Axis.call(this, dim, scale, coordExtent);
     this.type = axisType || "value";
     this.model = null;
   };
@@ -57665,7 +57726,7 @@ function requireSliderTimelineView() {
   hasRequiredSliderTimelineView = 1;
   var zrUtil2 = util$8;
   var BoundingRect2 = BoundingRect_1;
-  var matrix2 = matrix$4;
+  var matrix2 = requireMatrix();
   var graphic2 = graphic$4;
   var layout2 = layout$1;
   var TimelineView2 = requireTimelineView();
@@ -57673,8 +57734,8 @@ function requireSliderTimelineView() {
   var _symbol = requireSymbol$1();
   var createSymbol = _symbol.createSymbol;
   var axisHelper2 = requireAxisHelper();
-  var numberUtil2 = requireNumber();
-  var _format2 = format$4;
+  var numberUtil = requireNumber();
+  var _format2 = requireFormat();
   var encodeHTML2 = _format2.encodeHTML;
   var bind2 = zrUtil2.bind;
   var each2 = zrUtil2.each;
@@ -57855,16 +57916,16 @@ function requireSliderTimelineView() {
     _createAxis: function(layoutInfo, timelineModel) {
       var data = timelineModel.getData();
       var axisType = timelineModel.get("axisType");
-      var scale2 = axisHelper2.createScaleByModel(timelineModel, axisType);
-      scale2.getTicks = function() {
+      var scale = axisHelper2.createScaleByModel(timelineModel, axisType);
+      scale.getTicks = function() {
         return data.mapArray(["value"], function(value) {
           return value;
         });
       };
       var dataExtent = data.getDataExtent("value");
-      scale2.setExtent(dataExtent[0], dataExtent[1]);
-      scale2.niceTicks();
-      var axis2 = new TimelineAxis("value", scale2, layoutInfo.axisExtent, axisType);
+      scale.setExtent(dataExtent[0], dataExtent[1]);
+      scale.niceTicks();
+      var axis2 = new TimelineAxis("value", scale, layoutInfo.axisExtent, axisType);
       axis2.model = timelineModel;
       return axis2;
     },
@@ -58015,7 +58076,7 @@ function requireSliderTimelineView() {
     _pointerChangeTimeline: function(mousePos, trigger) {
       var toCoord = this._toAxisCoord(mousePos)[0];
       var axis2 = this._axis;
-      var axisExtent = numberUtil2.asc(axis2.getExtent().slice());
+      var axisExtent = numberUtil.asc(axis2.getExtent().slice());
       toCoord > axisExtent[1] && (toCoord = axisExtent[1]);
       toCoord < axisExtent[0] && (toCoord = axisExtent[0]);
       this._currentPointer.position[0] = toCoord;
@@ -58116,8 +58177,8 @@ function requireSliderTimelineView() {
     var symbolOffset = hostModel.get("symbolOffset");
     if (symbolOffset) {
       var pos = opt.position = opt.position || [0, 0];
-      pos[0] += numberUtil2.parsePercent(symbolOffset[0], symbolSize[0]);
-      pos[1] += numberUtil2.parsePercent(symbolOffset[1], symbolSize[1]);
+      pos[0] += numberUtil.parsePercent(symbolOffset[0], symbolSize[0]);
+      pos[1] += numberUtil.parsePercent(symbolOffset[1], symbolSize[1]);
     }
     var symbolRotate = hostModel.get("symbolRotate");
     opt.rotation = (symbolRotate || 0) * Math.PI / 180 || 0;
@@ -58170,7 +58231,7 @@ function requireMarkerModel() {
   var zrUtil2 = util$8;
   var env2 = env_1;
   var modelUtil2 = model;
-  var formatUtil2 = format$4;
+  var formatUtil2 = requireFormat();
   var dataFormatMixin2 = dataFormat;
   var addCommas2 = formatUtil2.addCommas;
   var encodeHTML2 = formatUtil2.encodeHTML;
@@ -58318,7 +58379,7 @@ function requireMarkerHelper() {
     return markerHelper;
   hasRequiredMarkerHelper = 1;
   var zrUtil2 = util$8;
-  var numberUtil2 = requireNumber();
+  var numberUtil = requireNumber();
   var _dataStackHelper = requireDataStackHelper();
   var isDimensionStacked = _dataStackHelper.isDimensionStacked;
   var indexOf2 = zrUtil2.indexOf;
@@ -58341,7 +58402,7 @@ function requireMarkerHelper() {
     coordArr[otherCoordIndex] = data.get(otherDataDim, dataIndex);
     coordArr[targetCoordIndex] = data.get(calcDataDim, dataIndex);
     var coordArrValue = data.get(targetDataDim, dataIndex);
-    var precision = numberUtil2.getPrecision(data.get(targetDataDim, dataIndex));
+    var precision = numberUtil.getPrecision(data.get(targetDataDim, dataIndex));
     precision = Math.min(precision, 20);
     if (precision >= 0) {
       coordArr[targetCoordIndex] = +coordArr[targetCoordIndex].toFixed(precision);
@@ -58497,7 +58558,7 @@ function requireMarkPointView() {
   hasRequiredMarkPointView = 1;
   var zrUtil2 = util$8;
   var SymbolDraw = requireSymbolDraw();
-  var numberUtil2 = requireNumber();
+  var numberUtil = requireNumber();
   var List = requireList();
   var markerHelper2 = requireMarkerHelper();
   var MarkerView2 = requireMarkerView();
@@ -58506,8 +58567,8 @@ function requireMarkPointView() {
     mpData.each(function(idx) {
       var itemModel = mpData.getItemModel(idx);
       var point;
-      var xPx = numberUtil2.parsePercent(itemModel.get("x"), api2.getWidth());
-      var yPx = numberUtil2.parsePercent(itemModel.get("y"), api2.getHeight());
+      var xPx = numberUtil.parsePercent(itemModel.get("x"), api2.getWidth());
+      var yPx = numberUtil.parsePercent(itemModel.get("y"), api2.getHeight());
       if (!isNaN(xPx) && !isNaN(yPx)) {
         point = [xPx, yPx];
       } else if (seriesModel.getMarkerPosition) {
@@ -58685,7 +58746,7 @@ function requireMarkLineView() {
   hasRequiredMarkLineView = 1;
   var zrUtil2 = util$8;
   var List = requireList();
-  var numberUtil2 = requireNumber();
+  var numberUtil = requireNumber();
   var markerHelper2 = requireMarkerHelper();
   var LineDraw = requireLineDraw();
   var MarkerView2 = requireMarkerView();
@@ -58756,8 +58817,8 @@ function requireMarkLineView() {
     var coordSys = seriesModel.coordinateSystem;
     var itemModel = data.getItemModel(idx);
     var point;
-    var xPx = numberUtil2.parsePercent(itemModel.get("x"), api2.getWidth());
-    var yPx = numberUtil2.parsePercent(itemModel.get("y"), api2.getHeight());
+    var xPx = numberUtil.parsePercent(itemModel.get("x"), api2.getWidth());
+    var yPx = numberUtil.parsePercent(itemModel.get("y"), api2.getHeight());
     if (!isNaN(xPx) && !isNaN(yPx)) {
       point = [xPx, yPx];
     } else {
@@ -58998,7 +59059,7 @@ function requireMarkAreaView() {
   var zrUtil2 = util$8;
   var colorUtil = color$1;
   var List = requireList();
-  var numberUtil2 = requireNumber();
+  var numberUtil = requireNumber();
   var graphic2 = graphic$4;
   var markerHelper2 = requireMarkerHelper();
   var MarkerView2 = requireMarkerView();
@@ -59049,8 +59110,8 @@ function requireMarkAreaView() {
     var coordSys = seriesModel.coordinateSystem;
     var itemModel = data.getItemModel(idx);
     var point;
-    var xPx = numberUtil2.parsePercent(itemModel.get(dims[0]), api2.getWidth());
-    var yPx = numberUtil2.parsePercent(itemModel.get(dims[1]), api2.getHeight());
+    var xPx = numberUtil.parsePercent(itemModel.get(dims[0]), api2.getWidth());
+    var yPx = numberUtil.parsePercent(itemModel.get(dims[1]), api2.getHeight());
     if (!isNaN(xPx) && !isNaN(yPx)) {
       point = [xPx, yPx];
     } else {
@@ -59278,7 +59339,7 @@ function requireLegendModel() {
   hasRequiredLegendModel = 1;
   var echarts2 = echarts$3;
   var zrUtil2 = util$8;
-  var Model2 = Model_1;
+  var Model2 = requireModel();
   var _model2 = model;
   var isNameSpecified2 = _model2.isNameSpecified;
   var lang2 = lang$2;
@@ -60512,12 +60573,12 @@ function requireSliderZoomView() {
   var graphic2 = graphic$4;
   var throttle2 = throttle$2;
   var DataZoomView2 = requireDataZoomView();
-  var numberUtil2 = requireNumber();
+  var numberUtil = requireNumber();
   var layout2 = layout$1;
   var sliderMove2 = requireSliderMove();
   var Rect2 = graphic2.Rect;
-  var linearMap = numberUtil2.linearMap;
-  var asc = numberUtil2.asc;
+  var linearMap = numberUtil.linearMap;
+  var asc = numberUtil.asc;
   var bind2 = zrUtil2.bind;
   var each2 = zrUtil2.each;
   var DEFAULT_LOCATION_EDGE_GAP = 7;
@@ -60834,7 +60895,7 @@ function requireSliderZoomView() {
           height: 2
         });
         var bRect = path2.getBoundingRect();
-        this._handleHeight = numberUtil2.parsePercent(dataZoomModel.get("handleSize"), this._size[1]);
+        this._handleHeight = numberUtil.parsePercent(dataZoomModel.get("handleSize"), this._size[1]);
         this._handleWidth = bRect.width / bRect.height * this._handleHeight;
         path2.setStyle(dataZoomModel.getModel("handleStyle").getItemStyle());
         var handleColor = dataZoomModel.get("handleColor");
@@ -61295,9 +61356,9 @@ function requireInsideZoomView() {
       }
       var directionInfo = getDirectionInfo[coordSysName](null, [e2.originX, e2.originY], axisModel, controller, coordInfo);
       var percentPoint = (directionInfo.signal > 0 ? directionInfo.pixelStart + directionInfo.pixelLength - directionInfo.pixel : directionInfo.pixel - directionInfo.pixelStart) / directionInfo.pixelLength * (range2[1] - range2[0]) + range2[0];
-      var scale2 = Math.max(1 / e2.scale, 0);
-      range2[0] = (range2[0] - percentPoint) * scale2 + percentPoint;
-      range2[1] = (range2[1] - percentPoint) * scale2 + percentPoint;
+      var scale = Math.max(1 / e2.scale, 0);
+      range2[0] = (range2[0] - percentPoint) * scale + percentPoint;
+      range2[1] = (range2[1] - percentPoint) * scale + percentPoint;
       var minMaxSpan = this.dataZoomModel.findRepresentativeAxisProxy().getMinMaxSpan();
       sliderMove2(0, range2, [0, 100], 0, minMaxSpan.minSpan, minMaxSpan.maxSpan);
       this._range = range2;
@@ -61532,7 +61593,7 @@ function requireVisualEncoding() {
       color: seriesModel.getData().getVisual("color")
       // default color.
     };
-    for (var i2 = 0, len2 = visualTypes.length; i2 < len2; i2++) {
+    for (var i2 = 0, len = visualTypes.length; i2 < len; i2++) {
       var type2 = visualTypes[i2];
       var mapping3 = mappings[type2 === "opacity" ? "__alphaForOpacity" : type2];
       mapping3 && mapping3.applyVisual(value, getVisual, setVisual);
@@ -61614,13 +61675,13 @@ function requireVisualMapModel() {
   var VisualMapping = requireVisualMapping();
   var visualSolution2 = requireVisualSolution();
   var modelUtil2 = model;
-  var numberUtil2 = requireNumber();
+  var numberUtil = requireNumber();
   var mapVisual2 = VisualMapping.mapVisual;
   var eachVisual = VisualMapping.eachVisual;
   var isArray2 = zrUtil2.isArray;
   var each2 = zrUtil2.each;
-  var asc = numberUtil2.asc;
-  var linearMap = numberUtil2.linearMap;
+  var asc = numberUtil.asc;
+  var linearMap = numberUtil.linearMap;
   var noop2 = zrUtil2.noop;
   var VisualMapModel = echarts2.extendComponentModel({
     type: "visualMap",
@@ -62012,7 +62073,7 @@ function requireContinuousModel() {
   hasRequiredContinuousModel = 1;
   var zrUtil2 = util$8;
   var VisualMapModel = requireVisualMapModel();
-  var numberUtil2 = requireNumber();
+  var numberUtil = requireNumber();
   var DEFAULT_BAR_BOUND = [20, 140];
   var ContinuousModel = VisualMapModel.extend({
     type: "visualMap.continuous",
@@ -62108,7 +62169,7 @@ function requireContinuousModel() {
      */
     getSelected: function() {
       var dataExtent = this.getExtent();
-      var dataInterval = numberUtil2.asc((this.get("range") || []).slice());
+      var dataInterval = numberUtil.asc((this.get("range") || []).slice());
       dataInterval[0] > dataExtent[1] && (dataInterval[0] = dataExtent[1]);
       dataInterval[1] > dataExtent[1] && (dataInterval[1] = dataExtent[1]);
       dataInterval[0] < dataExtent[0] && (dataInterval[0] = dataExtent[0]);
@@ -62212,7 +62273,7 @@ function requireVisualMapView() {
   var echarts2 = echarts$3;
   var zrUtil2 = util$8;
   var graphic2 = graphic$4;
-  var formatUtil2 = format$4;
+  var formatUtil2 = requireFormat();
   var layout2 = layout$1;
   var VisualMapping = requireVisualMapping();
   var _default68 = echarts2.extendComponentView({
@@ -62385,11 +62446,11 @@ function requireContinuousView() {
   var eventTool2 = event$1;
   var VisualMapView2 = requireVisualMapView();
   var graphic2 = graphic$4;
-  var numberUtil2 = requireNumber();
+  var numberUtil = requireNumber();
   var sliderMove2 = requireSliderMove();
   var helper2 = requireHelper();
   var modelUtil2 = model;
-  var linearMap = numberUtil2.linearMap;
+  var linearMap = numberUtil.linearMap;
   var each2 = zrUtil2.each;
   var mathMin2 = Math.min;
   var mathMax2 = Math.max;
@@ -63654,13 +63715,13 @@ function requireGraphic$1() {
     return graphic$1;
   hasRequiredGraphic$1 = 1;
   var env2 = env_1;
-  var _vector2 = vector$2;
+  var _vector2 = requireVector();
   var applyTransform2 = _vector2.applyTransform;
   var BoundingRect2 = BoundingRect_1;
   var colorTool2 = color$1;
   var textContain2 = text;
   var textHelper2 = text$1;
-  var RectText2 = requireRectText();
+  var RectText2 = RectText_1;
   var Displayable2 = Displayable_1;
   var ZImage2 = Image$2;
   var Text2 = Text_1;
@@ -63756,7 +63817,7 @@ function requireGraphic$1() {
             gradientType = "gradientradial";
             var p0 = [fill.x * rectWidth, fill.y * rectHeight];
             var transform2 = zrEl.transform;
-            var scale2 = zrEl.scale;
+            var scale = zrEl.scale;
             var width = rectWidth;
             var height = rectHeight;
             focus2 = [
@@ -63767,8 +63828,8 @@ function requireGraphic$1() {
             if (transform2) {
               applyTransform2(p0, p0, transform2);
             }
-            width /= scale2[0] * Z;
-            height /= scale2[1] * Z;
+            width /= scale[0] * Z;
+            height /= scale[1] * Z;
             var dimension = mathMax2(width, height);
             shift = 2 * 0 / dimension;
             expansion = 2 * fill.r / dimension - shift;
@@ -63777,18 +63838,18 @@ function requireGraphic$1() {
           stops.sort(function(cs1, cs2) {
             return cs1.offset - cs2.offset;
           });
-          var length2 = stops.length;
+          var length = stops.length;
           var colorAndAlphaList = [];
           var colors = [];
-          for (var i3 = 0; i3 < length2; i3++) {
+          for (var i3 = 0; i3 < length; i3++) {
             var stop2 = stops[i3];
             var colorAndAlpha = getColorAndAlpha(stop2.color);
             colors.push(stop2.offset * expansion + shift + " " + colorAndAlpha[0]);
-            if (i3 === 0 || i3 === length2 - 1) {
+            if (i3 === 0 || i3 === length - 1) {
               colorAndAlphaList.push(colorAndAlpha);
             }
           }
-          if (length2 >= 2) {
+          if (length >= 2) {
             var color1 = colorAndAlphaList[0][0];
             var color2 = colorAndAlphaList[1][0];
             var opacity1 = colorAndAlphaList[0][1] * style2.opacity;
@@ -64588,7 +64649,7 @@ function requireGraphic() {
   var createElement = _core.createElement;
   var PathProxy2 = PathProxy_1;
   var BoundingRect2 = BoundingRect_1;
-  var matrix2 = matrix$4;
+  var matrix2 = requireMatrix();
   var textContain2 = text;
   var textHelper2 = text$1;
   var Text2 = Text_1;
@@ -65351,7 +65412,7 @@ function requireGradientManager() {
     }
     dom2.innerHTML = "";
     var colors = gradient.colorStops;
-    for (var i2 = 0, len2 = colors.length; i2 < len2; ++i2) {
+    for (var i2 = 0, len = colors.length; i2 < len; ++i2) {
       var stop2 = this.createElement("stop");
       stop2.setAttribute("offset", colors[i2].offset * 100 + "%");
       var color2 = colors[i2].color;
@@ -65391,7 +65452,7 @@ function requireClippathManager() {
   hasRequiredClippathManager = 1;
   var Definable = requireDefinable();
   var zrUtil2 = util$8;
-  var matrix2 = matrix$4;
+  var matrix2 = requireMatrix();
   function ClippathManager(zrId, svgRoot) {
     Definable.call(this, zrId, svgRoot, "clipPath", "__clippath_in_use__");
   }
@@ -66076,10 +66137,10 @@ const getObj = (data, names, isExceptRoot) => {
   }
   const nameArr = names.split(".");
   let obj = data;
-  const len2 = nameArr.length;
-  if (len2 > 1) {
+  const len = nameArr.length;
+  if (len > 1) {
     const startIndex = isExceptRoot ? 1 : 0;
-    for (let i2 = startIndex; i2 < len2; i2++) {
+    for (let i2 = startIndex; i2 < len; i2++) {
       obj = obj[nameArr[i2]];
       if (isNull$2(obj)) {
         return obj;
@@ -66096,13 +66157,13 @@ const setObj = (data, names, value, isMerge) => {
   }
   const nameArr = names.split(".");
   const obj = data;
-  let len2 = nameArr.length;
+  let len = nameArr.length;
   let item = nameArr[0];
-  if (len2 > 1) {
-    len2--;
+  if (len > 1) {
+    len--;
     let tmpl = obj;
     let name2, target;
-    for (let i2 = 0; i2 < len2; i2++) {
+    for (let i2 = 0; i2 < len; i2++) {
       name2 = nameArr[i2];
       target = tmpl[name2];
       if (target === null || !isPlainObject$1(target)) {
@@ -66111,7 +66172,7 @@ const setObj = (data, names, value, isMerge) => {
       }
       tmpl = target;
     }
-    item = nameArr[len2];
+    item = nameArr[len];
     isMerge ? isPlainObject$1(tmpl[item]) ? extend$3(true, tmpl[item], value) : tmpl[item] = value : tmpl[item] = value;
   } else {
     isMerge ? isPlainObject$1(obj[item]) ? extend$3(true, obj[item], value) : obj[item] = value : obj[item] = value;
@@ -66153,25 +66214,25 @@ const copyField = (data, fields, isMerge, isExclude) => {
 const copyArray = (arr) => {
   return Array.isArray(arr) ? arr.map((item) => copyField(item)) : arr;
 };
-const deepCopy = (target, name2, deep, copy2, src) => {
+const deepCopy = (target, name2, deep, copy, src) => {
   let copyIsArray;
-  if (deep && copy2 && (isPlainObject$1(copy2) || (copyIsArray = Array.isArray(copy2)))) {
+  if (deep && copy && (isPlainObject$1(copy) || (copyIsArray = Array.isArray(copy)))) {
     if (copyIsArray) {
       copyIsArray = false;
-      target[name2] = copyArray(copy2);
+      target[name2] = copyArray(copy);
     } else {
       const clone2 = src && isPlainObject$1(src) ? src : {};
-      target[name2] = extend$3(deep, clone2, copy2);
+      target[name2] = extend$3(deep, clone2, copy);
     }
-  } else if (copy2 !== void 0) {
+  } else if (copy !== void 0) {
     try {
-      target[name2] = copy2;
+      target[name2] = copy;
     } catch (e2) {
     }
   }
 };
 extend$3 = function(...args) {
-  const length2 = args.length;
+  const length = args.length;
   let target = args[0] || {};
   let i2 = 1;
   let deep = false;
@@ -66183,15 +66244,15 @@ extend$3 = function(...args) {
   if (!isObject$1(target) && typeOf(target) !== "function") {
     target = {};
   }
-  for (; i2 < length2; i2++) {
+  for (; i2 < length; i2++) {
     const options = args[i2];
     if (options !== null && isObject$1(options)) {
       const names = Object.keys(options);
       for (const name2 of names) {
         const src = target[name2];
-        const copy2 = options[name2];
-        if (target !== copy2) {
-          deepCopy(target, name2, deep, copy2, src);
+        const copy = options[name2];
+        if (target !== copy) {
+          deepCopy(target, name2, deep, copy, src);
         }
       }
     }
@@ -66221,7 +66282,7 @@ isEachEqual = (data1, data2, deep) => {
     if (data1.length !== data2.length) {
       return false;
     }
-    for (let i2 = 0, length2 = data1.length; i2 < length2; i2++) {
+    for (let i2 = 0, length = data1.length; i2 < length; i2++) {
       const result = isEqual(data1[i2], data2[i2], deep);
       if (!result) {
         return false;
@@ -66257,7 +66318,7 @@ const toJsonStr = (obj) => {
   }
 };
 const merge$1 = function(target, ...rest) {
-  for (let i2 = 0, len2 = rest.length; i2 < len2; i2++) {
+  for (let i2 = 0, len = rest.length; i2 < len; i2++) {
     const source = rest[i2] || {};
     for (const prop in source) {
       if (hasOwn.call(source, prop)) {
@@ -66648,9 +66709,9 @@ const asInteger = (number2) => {
   } else {
     const trailingZeros = integer.match(/0+$/);
     if (trailingZeros) {
-      const length2 = trailingZeros[0].length;
-      value = integer.substr(0, integer.length - length2);
-      exp = length2;
+      const length = trailingZeros[0].length;
+      value = integer.substr(0, integer.length - length);
+      exp = length;
     } else {
       value = integer;
       exp = 0;
@@ -66683,10 +66744,10 @@ const negExp = (str, position) => {
     str = zero(offset2) + str;
     sep = "0.";
   }
-  const length2 = str.length;
-  const dif = length2 - position;
+  const length = str.length;
+  const dif = length - position;
   const head = str.substr(0, dif);
-  const tail = str.substring(dif, length2);
+  const tail = str.substring(dif, length);
   return head + sep + tail;
 };
 const posExp = (str, exp) => String(str + zero(exp));
@@ -66810,9 +66871,9 @@ const capitalize = cached((str) => str.charAt(0).toUpperCase() + str.slice(1));
 const hyphenateRE = /\B([A-Z])/g;
 const hyphenate = cached((str) => str.replace(hyphenateRE, "-$1").toLowerCase());
 function getLengthInUtf16(string) {
-  const len2 = string.length;
+  const len = string.length;
   let count = 0;
-  for (let i2 = 0; i2 < len2; i2++) {
+  for (let i2 = 0; i2 < len; i2++) {
     let charCode = string.charCodeAt(i2);
     if (charCode <= 65535) {
       count += 2;
@@ -66823,9 +66884,9 @@ function getLengthInUtf16(string) {
   return count;
 }
 function getLengthInUtf8(string) {
-  const len2 = string.length;
+  const len = string.length;
   let count = 0;
-  for (let i2 = 0; i2 < len2; i2++) {
+  for (let i2 = 0; i2 < len; i2++) {
     let charCode = string.charCodeAt(i2);
     if (charCode <= 127) {
       count += 1;
@@ -66840,9 +66901,9 @@ function getLengthInUtf8(string) {
   return count;
 }
 function getLengthDefault(string) {
-  const len2 = string.length;
+  const len = string.length;
   let count = 0;
-  for (let i2 = 0; i2 < len2; i2++) {
+  for (let i2 = 0; i2 < len; i2++) {
     count++;
     if (string.charCodeAt(i2) >> 8) {
       count++;
@@ -66871,15 +66932,15 @@ const getLength = (string, regular) => {
   }
   return count;
 };
-const fillChar = (string, length2, append3, chr = "0") => {
-  if (typeof string === "string" && typeof chr === "string" && isNumber$1(length2)) {
-    let len2 = string.length - length2;
-    if (len2 > 0) {
-      return append3 ? string.substr(0, length2) : string.substr(len2, length2);
+const fillChar = (string, length, append3, chr = "0") => {
+  if (typeof string === "string" && typeof chr === "string" && isNumber$1(length)) {
+    let len = string.length - length;
+    if (len > 0) {
+      return append3 ? string.substr(0, length) : string.substr(len, length);
     } else {
       const appendStr = [];
-      len2 = Math.abs(len2) / chr.length;
-      for (; len2 > 0; len2--) {
+      len = Math.abs(len) / chr.length;
+      for (; len > 0; len--) {
         appendStr.push(chr);
       }
       const s2 = appendStr.join("");
@@ -66891,7 +66952,7 @@ const random = () => {
   let MAX_UINT32_PLUS_ONE = 4294967296;
   return window.crypto.getRandomValues(new window.Uint32Array(1))[0] / MAX_UINT32_PLUS_ONE;
 };
-const guid = (prefix = "", length2 = 8) => prefix + random().toString().substr(2, length2);
+const guid = (prefix = "", length = 8) => prefix + random().toString().substr(2, length);
 const escapeHtml$1 = (string, isReplaceSpace) => {
   if (!string || typeof string !== "string") {
     return string;
@@ -67007,13 +67068,13 @@ const format$2 = function(string, data, type2 = "text") {
   res = getResult({ type: type2, res, formatText, string, reg, args });
   return res;
 };
-const getTruthyValue = ({ string, length: length2, ellipsis }) => {
-  const flag = typeof string === "string" && isNumber$1(length2) && length2 < string.length;
-  const truthyValue = flag && format$2(ellipsis, string.substr(0, length2));
+const getTruthyValue = ({ string, length, ellipsis }) => {
+  const flag = typeof string === "string" && isNumber$1(length) && length < string.length;
+  const truthyValue = flag && format$2(ellipsis, string.substr(0, length));
   return { flag, truthyValue };
 };
-const truncate = (string, length2, ellipsis = "{0}...") => {
-  const { flag, truthyValue } = getTruthyValue({ string, length: length2, ellipsis });
+const truncate = (string, length, ellipsis = "{0}...") => {
+  const { flag, truthyValue } = getTruthyValue({ string, length, ellipsis });
   return flag ? truthyValue : string;
 };
 const tryToConvert = (convert, defaultValue, ...args) => {
@@ -67256,7 +67317,7 @@ const dateParsers = [
   [iso8601Reg, iso8601DateParser]
 ];
 const parseDate$1 = (str) => {
-  for (let i2 = 0, len2 = dateParsers.length; i2 < len2; i2++) {
+  for (let i2 = 0, len = dateParsers.length; i2 < len; i2++) {
     const m2 = dateParsers[i2][0].exec(str);
     if (m2 && m2.length > 0) {
       return dateParsers[i2][1](m2);
@@ -67305,10 +67366,10 @@ const getDateArray = (str, dateFormat) => {
   }
   let valuePos = 0;
   let textPos = 0;
-  for (let i2 = 0, len2 = str.length; i2 < len2; i2++) {
+  for (let i2 = 0, len = str.length; i2 < len; i2++) {
     const charValue = str.substr(i2, 1);
     const notNum = isNaN(Number(charValue)) || charValue.trim() === "";
-    if (notNum && charValue === dateFormat.substr(i2, 1) || i2 === len2 - 1) {
+    if (notNum && charValue === dateFormat.substr(i2, 1) || i2 === len - 1) {
       let value;
       let text2;
       if (notNum) {
@@ -67318,8 +67379,8 @@ const getDateArray = (str, dateFormat) => {
         text2 = dateFormat.substring(textPos, end === -1 ? dateFormat.length : end);
         textPos = end + 1;
       } else {
-        value = str.substring(valuePos, len2);
-        text2 = dateFormat.substring(textPos, len2);
+        value = str.substring(valuePos, len);
+        text2 = dateFormat.substring(textPos, len);
       }
       if (value.length === text2.length || value) {
         matchDateArray(arr, value, text2);
@@ -68170,7 +68231,7 @@ function escapeDangerHtml5Entities(str) {
 }
 function clearNonPrintableCharacter(str) {
   var str2 = "";
-  for (var i2 = 0, len2 = str.length; i2 < len2; i2++) {
+  for (var i2 = 0, len = str.length; i2 < len; i2++) {
     str2 += str.charCodeAt(i2) < 32 ? " " : str.charAt(i2);
   }
   return _$2.trim(str2);
@@ -68316,11 +68377,11 @@ function parseTag$1(html, onTag2, escapeHtml2) {
   var tagStart = false;
   var quoteStart = false;
   var currentPos = 0;
-  var len2 = html.length;
+  var len = html.length;
   var currentTagName = "";
   var currentHtml = "";
   chariterator:
-    for (currentPos = 0; currentPos < len2; currentPos++) {
+    for (currentPos = 0; currentPos < len; currentPos++) {
       var c2 = html.charAt(currentPos);
       if (tagStart === false) {
         if (c2 === "<") {
@@ -68379,7 +68440,7 @@ function parseAttr$1(html, onAttr2) {
   var lastPos = 0;
   var retAttrs = [];
   var tmpName = false;
-  var len2 = html.length;
+  var len = html.length;
   function addAttr(name2, value) {
     name2 = _$1.trim(name2);
     name2 = name2.replace(REGEXP_ILLEGAL_ATTR_NAME, "").toLowerCase();
@@ -68389,7 +68450,7 @@ function parseAttr$1(html, onAttr2) {
     if (ret)
       retAttrs.push(ret);
   }
-  for (var i2 = 0; i2 < len2; i2++) {
+  for (var i2 = 0; i2 < len; i2++) {
     var c2 = html.charAt(i2);
     var v, j;
     if (tmpName === false && c2 === "=") {
@@ -69072,7 +69133,7 @@ const formats = {
 };
 const shorten = (arr, sLen) => {
   let newArr = [];
-  for (let i2 = 0, len2 = arr.length; i2 < len2; i2++) {
+  for (let i2 = 0, len = arr.length; i2 < len; i2++) {
     newArr.push(arr[i2].substr(0, sLen));
   }
   return newArr;
@@ -69083,10 +69144,10 @@ const monthUpdate = (arrName) => (date, value, i18n2) => {
     date.month = index3;
   }
 };
-const pad = (val, len2) => {
+const pad = (val, len) => {
   val = String(val);
-  len2 = len2 || 2;
-  while (val.length < len2) {
+  len = len || 2;
+  while (val.length < len) {
     val = "0" + val;
   }
   return val;
@@ -69319,7 +69380,7 @@ fecha.parse = (dateStr, format2, i18nSettings) => {
   if (!matches) {
     return null;
   }
-  for (let i2 = 1, len2 = matches.length; i2 < len2; i2++) {
+  for (let i2 = 1, len = matches.length; i2 < len; i2++) {
     parseInfo[i2 - 1](dateInfo, matches[i2], i18n2);
   }
   if (dateInfo.isPm === true && !isNull$2(dateInfo.hour) && Number(dateInfo.hour) !== 12) {
@@ -69427,7 +69488,7 @@ const setRangeData = (arr, start, end, value) => {
     arr[i2] = value;
   }
 };
-const range = (length2) => Array.apply(null, { length: length2 }).map((_2, n2) => n2);
+const range = (length) => Array.apply(null, { length }).map((_2, n2) => n2);
 const getRangeMinutes = (ranges, hour) => {
   const sixty = 60;
   const minutes = new Array(sixty);
@@ -72636,7 +72697,7 @@ function getDefaultConfig() {
   var contrast = fromTheme("contrast");
   var grayscale = fromTheme("grayscale");
   var hueRotate = fromTheme("hueRotate");
-  var invert2 = fromTheme("invert");
+  var invert = fromTheme("invert");
   var gap = fromTheme("gap");
   var gradientColorStops = fromTheme("gradientColorStops");
   var inset = fromTheme("inset");
@@ -72644,11 +72705,11 @@ function getDefaultConfig() {
   var opacity = fromTheme("opacity");
   var padding = fromTheme("padding");
   var saturate = fromTheme("saturate");
-  var scale2 = fromTheme("scale");
+  var scale = fromTheme("scale");
   var sepia = fromTheme("sepia");
   var skew = fromTheme("skew");
   var space = fromTheme("space");
-  var translate2 = fromTheme("translate");
+  var translate = fromTheme("translate");
   var getOverscroll = function getOverscroll2() {
     return ["auto", "contain", "none"];
   };
@@ -73970,7 +74031,7 @@ function getDefaultConfig() {
        * @see https://tailwindcss.com/docs/invert
        */
       invert: [{
-        invert: [invert2]
+        invert: [invert]
       }],
       /**
        * Saturate
@@ -74034,7 +74095,7 @@ function getDefaultConfig() {
        * @see https://tailwindcss.com/docs/backdrop-invert
        */
       "backdrop-invert": [{
-        "backdrop-invert": [invert2]
+        "backdrop-invert": [invert]
       }],
       /**
        * Backdrop Opacity
@@ -74142,21 +74203,21 @@ function getDefaultConfig() {
        * @see https://tailwindcss.com/docs/scale
        */
       scale: [{
-        scale: [scale2]
+        scale: [scale]
       }],
       /**
        * Scale X
        * @see https://tailwindcss.com/docs/scale
        */
       "scale-x": [{
-        "scale-x": [scale2]
+        "scale-x": [scale]
       }],
       /**
        * Scale Y
        * @see https://tailwindcss.com/docs/scale
        */
       "scale-y": [{
-        "scale-y": [scale2]
+        "scale-y": [scale]
       }],
       /**
        * Rotate
@@ -74170,14 +74231,14 @@ function getDefaultConfig() {
        * @see https://tailwindcss.com/docs/translate
        */
       "translate-x": [{
-        "translate-x": [translate2]
+        "translate-x": [translate]
       }],
       /**
        * Translate Y
        * @see https://tailwindcss.com/docs/translate
        */
       "translate-y": [{
-        "translate-y": [translate2]
+        "translate-y": [translate]
       }],
       /**
        * Skew X
@@ -76233,10 +76294,10 @@ function _unsupportedIterableToArray$C(o2, minLen) {
   if (n2 === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n2))
     return _arrayLikeToArray$C(o2, minLen);
 }
-function _arrayLikeToArray$C(arr, len2) {
-  if (len2 == null || len2 > arr.length)
-    len2 = arr.length;
-  for (var i2 = 0, arr2 = new Array(len2); i2 < len2; i2++)
+function _arrayLikeToArray$C(arr, len) {
+  if (len == null || len > arr.length)
+    len = arr.length;
+  for (var i2 = 0, arr2 = new Array(len); i2 < len; i2++)
     arr2[i2] = arr[i2];
   return arr2;
 }
@@ -76333,10 +76394,10 @@ function _unsupportedIterableToArray$B(o2, minLen) {
   if (n2 === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n2))
     return _arrayLikeToArray$B(o2, minLen);
 }
-function _arrayLikeToArray$B(arr, len2) {
-  if (len2 == null || len2 > arr.length)
-    len2 = arr.length;
-  for (var i2 = 0, arr2 = new Array(len2); i2 < len2; i2++)
+function _arrayLikeToArray$B(arr, len) {
+  if (len == null || len > arr.length)
+    len = arr.length;
+  for (var i2 = 0, arr2 = new Array(len); i2 < len; i2++)
     arr2[i2] = arr[i2];
   return arr2;
 }
@@ -76439,10 +76500,10 @@ function _unsupportedIterableToArray$A(o2, minLen) {
   if (n2 === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n2))
     return _arrayLikeToArray$A(o2, minLen);
 }
-function _arrayLikeToArray$A(arr, len2) {
-  if (len2 == null || len2 > arr.length)
-    len2 = arr.length;
-  for (var i2 = 0, arr2 = new Array(len2); i2 < len2; i2++)
+function _arrayLikeToArray$A(arr, len) {
+  if (len == null || len > arr.length)
+    len = arr.length;
+  for (var i2 = 0, arr2 = new Array(len); i2 < len; i2++)
     arr2[i2] = arr[i2];
   return arr2;
 }
@@ -76903,7 +76964,7 @@ const PopupManager = {
       return;
     }
     this.modalFade = modalFade;
-    for (let i2 = 0, len2 = this.modalStack.length; i2 < len2; i2++) {
+    for (let i2 = 0, len = this.modalStack.length; i2 < len; i2++) {
       const modal2 = this.modalStack[i2];
       if (modal2.id === id) {
         return;
@@ -77672,10 +77733,10 @@ var vue_popper_default = (options) => {
       return;
     }
     state.appended = true;
-    const div2 = document.createElement("div");
-    div2.setAttribute("x-arrow", "");
-    div2.className = "popper__arrow";
-    el.appendChild(div2);
+    const div = document.createElement("div");
+    div.setAttribute("x-arrow", "");
+    div.className = "popper__arrow";
+    el.appendChild(div);
   };
   const followHide = (popperInstance) => {
     const { followReferenceHide = true } = (props2 == null ? void 0 : props2.popperOptions) || {};
@@ -77951,10 +78012,10 @@ function _unsupportedIterableToArray$z(o2, minLen) {
   if (n2 === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n2))
     return _arrayLikeToArray$z(o2, minLen);
 }
-function _arrayLikeToArray$z(arr, len2) {
-  if (len2 == null || len2 > arr.length)
-    len2 = arr.length;
-  for (var i2 = 0, arr2 = new Array(len2); i2 < len2; i2++)
+function _arrayLikeToArray$z(arr, len) {
+  if (len == null || len > arr.length)
+    len = arr.length;
+  for (var i2 = 0, arr2 = new Array(len); i2 < len; i2++)
     arr2[i2] = arr[i2];
   return arr2;
 }
@@ -78067,10 +78128,10 @@ function _unsupportedIterableToArray$y(o2, minLen) {
   if (n2 === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n2))
     return _arrayLikeToArray$y(o2, minLen);
 }
-function _arrayLikeToArray$y(arr, len2) {
-  if (len2 == null || len2 > arr.length)
-    len2 = arr.length;
-  for (var i2 = 0, arr2 = new Array(len2); i2 < len2; i2++)
+function _arrayLikeToArray$y(arr, len) {
+  if (len == null || len > arr.length)
+    len = arr.length;
+  for (var i2 = 0, arr2 = new Array(len); i2 < len; i2++)
     arr2[i2] = arr[i2];
   return arr2;
 }
@@ -78234,10 +78295,10 @@ function _unsupportedIterableToArray$x(o2, minLen) {
   if (n2 === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n2))
     return _arrayLikeToArray$x(o2, minLen);
 }
-function _arrayLikeToArray$x(arr, len2) {
-  if (len2 == null || len2 > arr.length)
-    len2 = arr.length;
-  for (var i2 = 0, arr2 = new Array(len2); i2 < len2; i2++)
+function _arrayLikeToArray$x(arr, len) {
+  if (len == null || len > arr.length)
+    len = arr.length;
+  for (var i2 = 0, arr2 = new Array(len); i2 < len; i2++)
     arr2[i2] = arr[i2];
   return arr2;
 }
@@ -78648,8 +78709,8 @@ var clickoutside_default = {
     if (el.nodeType !== Node.ELEMENT_NODE) {
       return;
     }
-    let len2 = nodeList.length;
-    for (let i2 = 0; i2 < len2; i2++) {
+    let len = nodeList.length;
+    for (let i2 = 0; i2 < len; i2++) {
       if (nodeList[i2][nameSpace].id === el[nameSpace].id) {
         nodeList.splice(i2, 1);
         break;
@@ -80380,10 +80441,10 @@ var EventEmitter = (
       if (!events) {
         return;
       }
-      var len2 = events.length;
+      var len = events.length;
       var eventsCopy = __spreadArrays(events);
       var ret;
-      for (var i2 = 0; i2 < len2; i2++) {
+      for (var i2 = 0; i2 < len; i2++) {
         var event_1 = eventsCopy[i2];
         var fn = event_1[0], context = event_1[1];
         if (fn) {
@@ -81098,16 +81159,16 @@ var Behavior = (
       if (options === void 0) {
         options = this.options;
       }
-      var distance2 = current - start;
-      var speed = Math.abs(distance2) / time;
+      var distance = current - start;
+      var speed = Math.abs(distance) / time;
       var deceleration = options.deceleration, swipeBounceTime = options.swipeBounceTime, swipeTime = options.swipeTime;
       var duration = Math.min(swipeTime, speed * 2 / deceleration);
       var momentumData = {
-        destination: current + speed * speed / deceleration * (distance2 < 0 ? -1 : 1),
+        destination: current + speed * speed / deceleration * (distance < 0 ? -1 : 1),
         duration,
         rate: 15
       };
-      this.hooks.trigger(this.hooks.eventTypes.momentum, momentumData, distance2);
+      this.hooks.trigger(this.hooks.eventTypes.momentum, momentumData, distance);
       if (momentumData.destination < lowerMargin) {
         momentumData.destination = wrapperSize ? Math.max(lowerMargin - wrapperSize / 4, lowerMargin - wrapperSize / momentumData.rate * speed) : lowerMargin;
         momentumData.duration = swipeBounceTime;
@@ -82212,10 +82273,10 @@ function _unsupportedIterableToArray$w(o2, minLen) {
   if (n2 === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n2))
     return _arrayLikeToArray$w(o2, minLen);
 }
-function _arrayLikeToArray$w(arr, len2) {
-  if (len2 == null || len2 > arr.length)
-    len2 = arr.length;
-  for (var i2 = 0, arr2 = new Array(len2); i2 < len2; i2++)
+function _arrayLikeToArray$w(arr, len) {
+  if (len == null || len > arr.length)
+    len = arr.length;
+  for (var i2 = 0, arr2 = new Array(len); i2 < len; i2++)
     arr2[i2] = arr[i2];
   return arr2;
 }
@@ -82515,10 +82576,10 @@ function _unsupportedIterableToArray$v(o2, minLen) {
   if (n2 === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n2))
     return _arrayLikeToArray$v(o2, minLen);
 }
-function _arrayLikeToArray$v(arr, len2) {
-  if (len2 == null || len2 > arr.length)
-    len2 = arr.length;
-  for (var i2 = 0, arr2 = new Array(len2); i2 < len2; i2++)
+function _arrayLikeToArray$v(arr, len) {
+  if (len == null || len > arr.length)
+    len = arr.length;
+  for (var i2 = 0, arr2 = new Array(len); i2 < len; i2++)
     arr2[i2] = arr[i2];
   return arr2;
 }
@@ -82780,10 +82841,10 @@ function _unsupportedIterableToArray$u(o2, minLen) {
   if (n2 === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n2))
     return _arrayLikeToArray$u(o2, minLen);
 }
-function _arrayLikeToArray$u(arr, len2) {
-  if (len2 == null || len2 > arr.length)
-    len2 = arr.length;
-  for (var i2 = 0, arr2 = new Array(len2); i2 < len2; i2++)
+function _arrayLikeToArray$u(arr, len) {
+  if (len == null || len > arr.length)
+    len = arr.length;
+  for (var i2 = 0, arr2 = new Array(len); i2 < len; i2++)
     arr2[i2] = arr[i2];
   return arr2;
 }
@@ -83123,10 +83184,10 @@ function _unsupportedIterableToArray$t(o2, minLen) {
   if (n2 === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n2))
     return _arrayLikeToArray$t(o2, minLen);
 }
-function _arrayLikeToArray$t(arr, len2) {
-  if (len2 == null || len2 > arr.length)
-    len2 = arr.length;
-  for (var i2 = 0, arr2 = new Array(len2); i2 < len2; i2++)
+function _arrayLikeToArray$t(arr, len) {
+  if (len == null || len > arr.length)
+    len = arr.length;
+  for (var i2 = 0, arr2 = new Array(len); i2 < len; i2++)
     arr2[i2] = arr[i2];
   return arr2;
 }
@@ -83674,7 +83735,7 @@ const calcIconOffset = ({ CLASS_PREFIX, parent: parent3 }) => (place) => {
     return;
   }
   let el = null;
-  for (let i2 = 0, len2 = elList.length; i2 < len2; i2++) {
+  for (let i2 = 0, len = elList.length; i2 < len; i2++) {
     if (elList[i2].parentNode === parent3.$el) {
       el = elList[i2];
       break;
@@ -83838,11 +83899,11 @@ const keydown = ({ emit, props: props2, state }) => () => {
   }
 };
 const sortDeduplication = (array, memorySpace = 5) => {
-  const length2 = array.length;
+  const length = array.length;
   let newArray2 = [];
   let fillterObj = {};
   for (let i2 = 0, j = 1; j <= memorySpace; j++) {
-    if (i2 < 0 || i2 >= length2) {
+    if (i2 < 0 || i2 >= length) {
       break;
     }
     if (fillterObj[array[i2]]) {
@@ -83851,7 +83912,7 @@ const sortDeduplication = (array, memorySpace = 5) => {
       fillterObj[array[i2]] = true;
       newArray2.push(array[i2]);
     }
-    if (j === length2) {
+    if (j === length) {
       break;
     }
     i2++;
@@ -83907,7 +83968,7 @@ const searchMemory = ({ props: props2, state }) => (inputVal) => {
     if (!inputVal) {
       storageData = JSON.parse(memoryBox);
     } else {
-      for (let i2 = 0, len2 = memoryArry.length; i2 < len2; i2++) {
+      for (let i2 = 0, len = memoryArry.length; i2 < len; i2++) {
         memoryArry[i2].includes(inputVal) && storageData.push(memoryArry[i2]);
       }
     }
@@ -84278,10 +84339,10 @@ function _unsupportedIterableToArray$s(o2, minLen) {
   if (n2 === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n2))
     return _arrayLikeToArray$s(o2, minLen);
 }
-function _arrayLikeToArray$s(arr, len2) {
-  if (len2 == null || len2 > arr.length)
-    len2 = arr.length;
-  for (var i2 = 0, arr2 = new Array(len2); i2 < len2; i2++)
+function _arrayLikeToArray$s(arr, len) {
+  if (len == null || len > arr.length)
+    len = arr.length;
+  for (var i2 = 0, arr2 = new Array(len); i2 < len; i2++)
     arr2[i2] = arr[i2];
   return arr2;
 }
@@ -84792,10 +84853,10 @@ function _unsupportedIterableToArray$r(o2, minLen) {
   if (n2 === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n2))
     return _arrayLikeToArray$r(o2, minLen);
 }
-function _arrayLikeToArray$r(arr, len2) {
-  if (len2 == null || len2 > arr.length)
-    len2 = arr.length;
-  for (var i2 = 0, arr2 = new Array(len2); i2 < len2; i2++)
+function _arrayLikeToArray$r(arr, len) {
+  if (len == null || len > arr.length)
+    len = arr.length;
+  for (var i2 = 0, arr2 = new Array(len); i2 < len; i2++)
     arr2[i2] = arr[i2];
   return arr2;
 }
@@ -85137,10 +85198,10 @@ function _unsupportedIterableToArray$q(o2, minLen) {
   if (n2 === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n2))
     return _arrayLikeToArray$q(o2, minLen);
 }
-function _arrayLikeToArray$q(arr, len2) {
-  if (len2 == null || len2 > arr.length)
-    len2 = arr.length;
-  for (var i2 = 0, arr2 = new Array(len2); i2 < len2; i2++)
+function _arrayLikeToArray$q(arr, len) {
+  if (len == null || len > arr.length)
+    len = arr.length;
+  for (var i2 = 0, arr2 = new Array(len); i2 < len; i2++)
     arr2[i2] = arr[i2];
   return arr2;
 }
@@ -85770,7 +85831,7 @@ Input.install = function(Vue) {
 Input.version = version$f;
 const indexOf = (arr, data, predicate = isSame) => {
   if (Array.isArray(arr) && typeof predicate === "function") {
-    for (let i2 = 0, len2 = arr.length; i2 < len2; i2++) {
+    for (let i2 = 0, len = arr.length; i2 < len; i2++) {
       if (predicate(arr[i2], data)) {
         return i2;
       }
@@ -86178,10 +86239,10 @@ function _unsupportedIterableToArray$p(o2, minLen) {
   if (n2 === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n2))
     return _arrayLikeToArray$p(o2, minLen);
 }
-function _arrayLikeToArray$p(arr, len2) {
-  if (len2 == null || len2 > arr.length)
-    len2 = arr.length;
-  for (var i2 = 0, arr2 = new Array(len2); i2 < len2; i2++)
+function _arrayLikeToArray$p(arr, len) {
+  if (len == null || len > arr.length)
+    len = arr.length;
+  for (var i2 = 0, arr2 = new Array(len); i2 < len; i2++)
     arr2[i2] = arr[i2];
   return arr2;
 }
@@ -86369,10 +86430,10 @@ function _unsupportedIterableToArray$o(o2, minLen) {
   if (n2 === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n2))
     return _arrayLikeToArray$o(o2, minLen);
 }
-function _arrayLikeToArray$o(arr, len2) {
-  if (len2 == null || len2 > arr.length)
-    len2 = arr.length;
-  for (var i2 = 0, arr2 = new Array(len2); i2 < len2; i2++)
+function _arrayLikeToArray$o(arr, len) {
+  if (len == null || len > arr.length)
+    len = arr.length;
+  for (var i2 = 0, arr2 = new Array(len); i2 < len; i2++)
     arr2[i2] = arr[i2];
   return arr2;
 }
@@ -86507,10 +86568,10 @@ function _unsupportedIterableToArray$n(o2, minLen) {
   if (n2 === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n2))
     return _arrayLikeToArray$n(o2, minLen);
 }
-function _arrayLikeToArray$n(arr, len2) {
-  if (len2 == null || len2 > arr.length)
-    len2 = arr.length;
-  for (var i2 = 0, arr2 = new Array(len2); i2 < len2; i2++)
+function _arrayLikeToArray$n(arr, len) {
+  if (len == null || len > arr.length)
+    len = arr.length;
+  for (var i2 = 0, arr2 = new Array(len); i2 < len; i2++)
     arr2[i2] = arr[i2];
   return arr2;
 }
@@ -86965,13 +87026,13 @@ const removeMsgQueue = ({ api: api2, parent: parent3 }) => () => {
 const updateStyle = ({ nextTick: nextTick2, props: props2 }) => () => {
   nextTick2(() => {
     let offsetTop = 0;
-    let distance2 = props2.top;
+    let distance = props2.top;
     MsgQueue.forEach((comp) => {
-      offsetTop += parseFloat(distance2);
+      offsetTop += parseFloat(distance);
       comp.state.modalTop = offsetTop;
       const modalBox = comp.$refs.modalBox;
       offsetTop += modalBox.clientHeight;
-      distance2 = 15;
+      distance = 15;
     });
   });
 };
@@ -87929,10 +87990,10 @@ function _unsupportedIterableToArray$m(o2, minLen) {
   if (n2 === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n2))
     return _arrayLikeToArray$m(o2, minLen);
 }
-function _arrayLikeToArray$m(arr, len2) {
-  if (len2 == null || len2 > arr.length)
-    len2 = arr.length;
-  for (var i2 = 0, arr2 = new Array(len2); i2 < len2; i2++)
+function _arrayLikeToArray$m(arr, len) {
+  if (len == null || len > arr.length)
+    len = arr.length;
+  for (var i2 = 0, arr2 = new Array(len); i2 < len; i2++)
     arr2[i2] = arr[i2];
   return arr2;
 }
@@ -88129,10 +88190,10 @@ function _unsupportedIterableToArray$l(o2, minLen) {
   if (n2 === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n2))
     return _arrayLikeToArray$l(o2, minLen);
 }
-function _arrayLikeToArray$l(arr, len2) {
-  if (len2 == null || len2 > arr.length)
-    len2 = arr.length;
-  for (var i2 = 0, arr2 = new Array(len2); i2 < len2; i2++)
+function _arrayLikeToArray$l(arr, len) {
+  if (len == null || len > arr.length)
+    len = arr.length;
+  for (var i2 = 0, arr2 = new Array(len); i2 < len; i2++)
     arr2[i2] = arr[i2];
   return arr2;
 }
@@ -88243,10 +88304,10 @@ function _unsupportedIterableToArray$k(o2, minLen) {
   if (n2 === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n2))
     return _arrayLikeToArray$k(o2, minLen);
 }
-function _arrayLikeToArray$k(arr, len2) {
-  if (len2 == null || len2 > arr.length)
-    len2 = arr.length;
-  for (var i2 = 0, arr2 = new Array(len2); i2 < len2; i2++)
+function _arrayLikeToArray$k(arr, len) {
+  if (len == null || len > arr.length)
+    len = arr.length;
+  for (var i2 = 0, arr2 = new Array(len); i2 < len; i2++)
     arr2[i2] = arr[i2];
   return arr2;
 }
@@ -88336,10 +88397,10 @@ function _unsupportedIterableToArray$j(o2, minLen) {
   if (n2 === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n2))
     return _arrayLikeToArray$j(o2, minLen);
 }
-function _arrayLikeToArray$j(arr, len2) {
-  if (len2 == null || len2 > arr.length)
-    len2 = arr.length;
-  for (var i2 = 0, arr2 = new Array(len2); i2 < len2; i2++)
+function _arrayLikeToArray$j(arr, len) {
+  if (len == null || len > arr.length)
+    len = arr.length;
+  for (var i2 = 0, arr2 = new Array(len); i2 < len; i2++)
     arr2[i2] = arr[i2];
   return arr2;
 }
@@ -88971,10 +89032,10 @@ function _unsupportedIterableToArray$i(o2, minLen) {
   if (n2 === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n2))
     return _arrayLikeToArray$i(o2, minLen);
 }
-function _arrayLikeToArray$i(arr, len2) {
-  if (len2 == null || len2 > arr.length)
-    len2 = arr.length;
-  for (var i2 = 0, arr2 = new Array(len2); i2 < len2; i2++)
+function _arrayLikeToArray$i(arr, len) {
+  if (len == null || len > arr.length)
+    len = arr.length;
+  for (var i2 = 0, arr2 = new Array(len); i2 < len; i2++)
     arr2[i2] = arr[i2];
   return arr2;
 }
@@ -89191,10 +89252,10 @@ function _unsupportedIterableToArray$h(o2, minLen) {
   if (n2 === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n2))
     return _arrayLikeToArray$h(o2, minLen);
 }
-function _arrayLikeToArray$h(arr, len2) {
-  if (len2 == null || len2 > arr.length)
-    len2 = arr.length;
-  for (var i2 = 0, arr2 = new Array(len2); i2 < len2; i2++)
+function _arrayLikeToArray$h(arr, len) {
+  if (len == null || len > arr.length)
+    len = arr.length;
+  for (var i2 = 0, arr2 = new Array(len); i2 < len; i2++)
     arr2[i2] = arr[i2];
   return arr2;
 }
@@ -89883,7 +89944,7 @@ const getChildState = (node) => {
   let all2 = true;
   let none = true;
   let allWithoutDisable = true;
-  for (let i2 = 0, len2 = node.length; i2 < len2; i2++) {
+  for (let i2 = 0, len = node.length; i2 < len; i2++) {
     const { checked, disabled, indeterminate } = node[i2];
     if (checked !== true || indeterminate) {
       all2 = false;
@@ -90004,7 +90065,7 @@ let Node$1 = class Node2 {
     } else {
       children3 = getPropertyFromData(this, defaultChildrenKey) || [];
     }
-    for (let i2 = 0, len2 = children3.length; i2 < len2; i2++) {
+    for (let i2 = 0, len = children3.length; i2 < len; i2++) {
       const data2 = children3[i2];
       this.insertChild({ data: data2 });
     }
@@ -90053,7 +90114,7 @@ let Node$1 = class Node2 {
     const walkTree = (parent3) => {
       const children3 = parent3.childNodes || [];
       let isContain = false;
-      for (let i2 = 0, len2 = children3.length; i2 < len2; i2++) {
+      for (let i2 = 0, len = children3.length; i2 < len; i2++) {
         const child = children3[i2];
         if (child === target || deep && walkTree(child)) {
           isContain = true;
@@ -90122,7 +90183,7 @@ let Node$1 = class Node2 {
   }
   removeChildByData(data) {
     let removeNode = null;
-    for (let i2 = 0, len2 = this.childNodes.length; i2 < len2; i2++) {
+    for (let i2 = 0, len = this.childNodes.length; i2 < len; i2++) {
       const child = this.childNodes[i2];
       if (child.data === data) {
         removeNode = child;
@@ -90248,7 +90309,7 @@ let Node$1 = class Node2 {
     const batchSetChecked = () => {
       if (isDeepChecked) {
         const childNodes = this.childNodes;
-        for (let i2 = 0, len2 = childNodes.length; i2 < len2; i2++) {
+        for (let i2 = 0, len = childNodes.length; i2 < len; i2++) {
           const childNode = childNodes[i2];
           passValue = passValue || value !== false;
           const isCheck = childNode.disabled ? childNode.checked : passValue;
@@ -90505,7 +90566,7 @@ class TreeStore {
     for (let i2 = childNodes.length - 1; i2 >= 0; i2--) {
       this.remove(childNodes[i2].data);
     }
-    for (let i2 = 0, len2 = data.length; i2 < len2; i2++) {
+    for (let i2 = 0, len = data.length; i2 < len; i2++) {
       const child = data[i2];
       this.append(child, node.data);
     }
@@ -90517,7 +90578,7 @@ class TreeStore {
     nodes.forEach((node) => {
       node.setChecked(false, false);
     });
-    for (let i2 = 0, len2 = nodes.length; i2 < len2; i2++) {
+    for (let i2 = 0, len = nodes.length; i2 < len; i2++) {
       const node = nodes[i2];
       const nodeKey = node.data[key2].toString();
       let checked = ~keys.indexOf(nodeKey);
@@ -90668,10 +90729,10 @@ const getDropType = (dropPrev, dropInner, dropNext, dropNode) => {
   const targetPosition = dropNode.$el.getBoundingClientRect();
   const prevPercent = dropPrev ? dropInner ? 0.25 : dropNext ? 0.45 : 1 : -1;
   const nextPercent = dropNext ? dropInner ? 0.75 : dropPrev ? 0.55 : 0 : 1;
-  const distance2 = event.clientY - targetPosition.top;
-  if (distance2 < targetPosition.height * prevPercent) {
+  const distance = event.clientY - targetPosition.top;
+  if (distance < targetPosition.height * prevPercent) {
     dropType = "before";
-  } else if (distance2 > targetPosition.height * nextPercent) {
+  } else if (distance > targetPosition.height * nextPercent) {
     dropType = "after";
   } else if (dropInner) {
     dropType = "inner";
@@ -91598,10 +91659,10 @@ function _unsupportedIterableToArray$g(o2, minLen) {
   if (n2 === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n2))
     return _arrayLikeToArray$g(o2, minLen);
 }
-function _arrayLikeToArray$g(arr, len2) {
-  if (len2 == null || len2 > arr.length)
-    len2 = arr.length;
-  for (var i2 = 0, arr2 = new Array(len2); i2 < len2; i2++)
+function _arrayLikeToArray$g(arr, len) {
+  if (len == null || len > arr.length)
+    len = arr.length;
+  for (var i2 = 0, arr2 = new Array(len); i2 < len; i2++)
     arr2[i2] = arr[i2];
   return arr2;
 }
@@ -91710,10 +91771,10 @@ function _unsupportedIterableToArray$f(o2, minLen) {
   if (n2 === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n2))
     return _arrayLikeToArray$f(o2, minLen);
 }
-function _arrayLikeToArray$f(arr, len2) {
-  if (len2 == null || len2 > arr.length)
-    len2 = arr.length;
-  for (var i2 = 0, arr2 = new Array(len2); i2 < len2; i2++)
+function _arrayLikeToArray$f(arr, len) {
+  if (len == null || len > arr.length)
+    len = arr.length;
+  for (var i2 = 0, arr2 = new Array(len); i2 < len; i2++)
     arr2[i2] = arr[i2];
   return arr2;
 }
@@ -91794,10 +91855,10 @@ function _unsupportedIterableToArray$e(o2, minLen) {
   if (n2 === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n2))
     return _arrayLikeToArray$e(o2, minLen);
 }
-function _arrayLikeToArray$e(arr, len2) {
-  if (len2 == null || len2 > arr.length)
-    len2 = arr.length;
-  for (var i2 = 0, arr2 = new Array(len2); i2 < len2; i2++)
+function _arrayLikeToArray$e(arr, len) {
+  if (len == null || len > arr.length)
+    len = arr.length;
+  for (var i2 = 0, arr2 = new Array(len); i2 < len; i2++)
     arr2[i2] = arr[i2];
   return arr2;
 }
@@ -92529,10 +92590,10 @@ function _unsupportedIterableToArray$d(o2, minLen) {
   if (n2 === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n2))
     return _arrayLikeToArray$d(o2, minLen);
 }
-function _arrayLikeToArray$d(arr, len2) {
-  if (len2 == null || len2 > arr.length)
-    len2 = arr.length;
-  for (var i2 = 0, arr2 = new Array(len2); i2 < len2; i2++)
+function _arrayLikeToArray$d(arr, len) {
+  if (len == null || len > arr.length)
+    len = arr.length;
+  for (var i2 = 0, arr2 = new Array(len); i2 < len; i2++)
     arr2[i2] = arr[i2];
   return arr2;
 }
@@ -92759,10 +92820,10 @@ function _unsupportedIterableToArray$c(o2, minLen) {
   if (n2 === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n2))
     return _arrayLikeToArray$c(o2, minLen);
 }
-function _arrayLikeToArray$c(arr, len2) {
-  if (len2 == null || len2 > arr.length)
-    len2 = arr.length;
-  for (var i2 = 0, arr2 = new Array(len2); i2 < len2; i2++)
+function _arrayLikeToArray$c(arr, len) {
+  if (len == null || len > arr.length)
+    len = arr.length;
+  for (var i2 = 0, arr2 = new Array(len); i2 < len; i2++)
     arr2[i2] = arr[i2];
   return arr2;
 }
@@ -92895,10 +92956,10 @@ function _unsupportedIterableToArray$b(o2, minLen) {
   if (n2 === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n2))
     return _arrayLikeToArray$b(o2, minLen);
 }
-function _arrayLikeToArray$b(arr, len2) {
-  if (len2 == null || len2 > arr.length)
-    len2 = arr.length;
-  for (var i2 = 0, arr2 = new Array(len2); i2 < len2; i2++)
+function _arrayLikeToArray$b(arr, len) {
+  if (len == null || len > arr.length)
+    len = arr.length;
+  for (var i2 = 0, arr2 = new Array(len); i2 < len; i2++)
     arr2[i2] = arr[i2];
   return arr2;
 }
@@ -93023,10 +93084,10 @@ function _unsupportedIterableToArray$a(o2, minLen) {
   if (n2 === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n2))
     return _arrayLikeToArray$a(o2, minLen);
 }
-function _arrayLikeToArray$a(arr, len2) {
-  if (len2 == null || len2 > arr.length)
-    len2 = arr.length;
-  for (var i2 = 0, arr2 = new Array(len2); i2 < len2; i2++)
+function _arrayLikeToArray$a(arr, len) {
+  if (len == null || len > arr.length)
+    len = arr.length;
+  for (var i2 = 0, arr2 = new Array(len); i2 < len; i2++)
     arr2[i2] = arr[i2];
   return arr2;
 }
@@ -93322,10 +93383,10 @@ function _unsupportedIterableToArray$9(o2, minLen) {
   if (n2 === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n2))
     return _arrayLikeToArray$9(o2, minLen);
 }
-function _arrayLikeToArray$9(arr, len2) {
-  if (len2 == null || len2 > arr.length)
-    len2 = arr.length;
-  for (var i2 = 0, arr2 = new Array(len2); i2 < len2; i2++)
+function _arrayLikeToArray$9(arr, len) {
+  if (len == null || len > arr.length)
+    len = arr.length;
+  for (var i2 = 0, arr2 = new Array(len); i2 < len; i2++)
     arr2[i2] = arr[i2];
   return arr2;
 }
@@ -94569,7 +94630,7 @@ function requireEcharts() {
         if (typeStr === "[object Array]") {
           if (!isPrimitive2(source)) {
             result = [];
-            for (var i3 = 0, len3 = source.length; i3 < len3; i3++) {
+            for (var i3 = 0, len2 = source.length; i3 < len2; i3++) {
               result[i3] = clone2(source[i3]);
             }
           }
@@ -94580,7 +94641,7 @@ function requireEcharts() {
               result = Ctor.from(source);
             } else {
               result = new Ctor(source.length);
-              for (var i3 = 0, len3 = source.length; i3 < len3; i3++) {
+              for (var i3 = 0, len2 = source.length; i3 < len2; i3++) {
                 result[i3] = source[i3];
               }
             }
@@ -94614,7 +94675,7 @@ function requireEcharts() {
       }
       function mergeAll2(targetAndSources, overwrite) {
         var result = targetAndSources[0];
-        for (var i3 = 1, len3 = targetAndSources.length; i3 < len3; i3++) {
+        for (var i3 = 1, len2 = targetAndSources.length; i3 < len2; i3++) {
           result = merge2(result, targetAndSources[i3], overwrite);
         }
         return result;
@@ -94647,7 +94708,7 @@ function requireEcharts() {
           if (array.indexOf) {
             return array.indexOf(value);
           }
-          for (var i3 = 0, len3 = array.length; i3 < len3; i3++) {
+          for (var i3 = 0, len2 = array.length; i3 < len2; i3++) {
             if (array[i3] === value) {
               return i3;
             }
@@ -94702,7 +94763,7 @@ function requireEcharts() {
         if (arr.forEach && arr.forEach === nativeForEach2) {
           arr.forEach(cb, context);
         } else if (arr.length === +arr.length) {
-          for (var i3 = 0, len3 = arr.length; i3 < len3; i3++) {
+          for (var i3 = 0, len2 = arr.length; i3 < len2; i3++) {
             cb.call(context, arr[i3], i3, arr);
           }
         } else {
@@ -94724,7 +94785,7 @@ function requireEcharts() {
           return arr.map(cb, context);
         } else {
           var result = [];
-          for (var i3 = 0, len3 = arr.length; i3 < len3; i3++) {
+          for (var i3 = 0, len2 = arr.length; i3 < len2; i3++) {
             result.push(cb.call(context, arr[i3], i3, arr));
           }
           return result;
@@ -94734,7 +94795,7 @@ function requireEcharts() {
         if (!(arr && cb)) {
           return;
         }
-        for (var i3 = 0, len3 = arr.length; i3 < len3; i3++) {
+        for (var i3 = 0, len2 = arr.length; i3 < len2; i3++) {
           memo = cb.call(context, memo, arr[i3], i3, arr);
         }
         return memo;
@@ -94750,7 +94811,7 @@ function requireEcharts() {
           return arr.filter(cb, context);
         } else {
           var result = [];
-          for (var i3 = 0, len3 = arr.length; i3 < len3; i3++) {
+          for (var i3 = 0, len2 = arr.length; i3 < len2; i3++) {
             if (cb.call(context, arr[i3], i3, arr)) {
               result.push(arr[i3]);
             }
@@ -94762,7 +94823,7 @@ function requireEcharts() {
         if (!(arr && cb)) {
           return;
         }
-        for (var i3 = 0, len3 = arr.length; i3 < len3; i3++) {
+        for (var i3 = 0, len2 = arr.length; i3 < len2; i3++) {
           if (cb.call(context, arr[i3], i3, arr)) {
             return arr[i3];
           }
@@ -94850,7 +94911,7 @@ function requireEcharts() {
         for (var _i = 0; _i < arguments.length; _i++) {
           args[_i] = arguments[_i];
         }
-        for (var i3 = 0, len3 = args.length; i3 < len3; i3++) {
+        for (var i3 = 0, len2 = args.length; i3 < len2; i3++) {
           if (args[i3] != null) {
             return args[i3];
           }
@@ -94873,10 +94934,10 @@ function requireEcharts() {
         if (typeof val === "number") {
           return [val, val, val, val];
         }
-        var len3 = val.length;
-        if (len3 === 2) {
+        var len2 = val.length;
+        if (len2 === 2) {
           return [val[0], val[1], val[0], val[1]];
-        } else if (len3 === 3) {
+        } else if (len2 === 3) {
           return [val[0], val[1], val[2], val[1]];
         }
         return val;
@@ -95069,7 +95130,7 @@ function requireEcharts() {
         noop: noop2,
         RADIAN_TO_DEGREE
       });
-      function create2(x, y) {
+      function create(x, y) {
         if (x == null) {
           x = 0;
         }
@@ -95078,7 +95139,7 @@ function requireEcharts() {
         }
         return [x, y];
       }
-      function copy2(out3, v) {
+      function copy(out3, v) {
         out3[0] = v[0];
         out3[1] = v[1];
         return out3;
@@ -95091,49 +95152,49 @@ function requireEcharts() {
         out3[1] = b;
         return out3;
       }
-      function add2(out3, v12, v22) {
+      function add(out3, v12, v22) {
         out3[0] = v12[0] + v22[0];
         out3[1] = v12[1] + v22[1];
         return out3;
       }
-      function scaleAndAdd2(out3, v12, v22, a2) {
+      function scaleAndAdd(out3, v12, v22, a2) {
         out3[0] = v12[0] + v22[0] * a2;
         out3[1] = v12[1] + v22[1] * a2;
         return out3;
       }
-      function sub2(out3, v12, v22) {
+      function sub(out3, v12, v22) {
         out3[0] = v12[0] - v22[0];
         out3[1] = v12[1] - v22[1];
         return out3;
       }
-      function len2(v) {
-        return Math.sqrt(lenSquare2(v));
+      function len(v) {
+        return Math.sqrt(lenSquare(v));
       }
-      var length2 = len2;
-      function lenSquare2(v) {
+      var length = len;
+      function lenSquare(v) {
         return v[0] * v[0] + v[1] * v[1];
       }
-      var lengthSquare2 = lenSquare2;
-      function mul2(out3, v12, v22) {
+      var lengthSquare = lenSquare;
+      function mul(out3, v12, v22) {
         out3[0] = v12[0] * v22[0];
         out3[1] = v12[1] * v22[1];
         return out3;
       }
-      function div2(out3, v12, v22) {
+      function div(out3, v12, v22) {
         out3[0] = v12[0] / v22[0];
         out3[1] = v12[1] / v22[1];
         return out3;
       }
-      function dot2(v12, v22) {
+      function dot(v12, v22) {
         return v12[0] * v22[0] + v12[1] * v22[1];
       }
-      function scale2(out3, v, s2) {
+      function scale(out3, v, s2) {
         out3[0] = v[0] * s2;
         out3[1] = v[1] * s2;
         return out3;
       }
-      function normalize2(out3, v) {
-        var d2 = len2(v);
+      function normalize(out3, v) {
+        var d2 = len(v);
         if (d2 === 0) {
           out3[0] = 0;
           out3[1] = 0;
@@ -95143,15 +95204,15 @@ function requireEcharts() {
         }
         return out3;
       }
-      function distance2(v12, v22) {
+      function distance(v12, v22) {
         return Math.sqrt((v12[0] - v22[0]) * (v12[0] - v22[0]) + (v12[1] - v22[1]) * (v12[1] - v22[1]));
       }
-      var dist2 = distance2;
-      function distanceSquare2(v12, v22) {
+      var dist2 = distance;
+      function distanceSquare(v12, v22) {
         return (v12[0] - v22[0]) * (v12[0] - v22[0]) + (v12[1] - v22[1]) * (v12[1] - v22[1]);
       }
-      var distSquare2 = distanceSquare2;
-      function negate2(out3, v) {
+      var distSquare = distanceSquare;
+      function negate(out3, v) {
         out3[0] = -v[0];
         out3[1] = -v[1];
         return out3;
@@ -95180,27 +95241,27 @@ function requireEcharts() {
       }
       var vector2 = /* @__PURE__ */ Object.freeze({
         __proto__: null,
-        create: create2,
-        copy: copy2,
+        create,
+        copy,
         clone: clone$12,
         set: set2,
-        add: add2,
-        scaleAndAdd: scaleAndAdd2,
-        sub: sub2,
-        len: len2,
-        length: length2,
-        lenSquare: lenSquare2,
-        lengthSquare: lengthSquare2,
-        mul: mul2,
-        div: div2,
-        dot: dot2,
-        scale: scale2,
-        normalize: normalize2,
-        distance: distance2,
+        add,
+        scaleAndAdd,
+        sub,
+        len,
+        length,
+        lenSquare,
+        lengthSquare,
+        mul,
+        div,
+        dot,
+        scale,
+        normalize,
+        distance,
         dist: dist2,
-        distanceSquare: distanceSquare2,
-        distSquare: distSquare2,
-        negate: negate2,
+        distanceSquare,
+        distSquare,
+        negate,
         lerp: lerp2,
         applyTransform: applyTransform2,
         min: min3,
@@ -95356,8 +95417,8 @@ function requireEcharts() {
           var eventProcessor = this._$eventProcessor;
           if (_h) {
             var argLen = args.length;
-            var len3 = _h.length;
-            for (var i3 = 0; i3 < len3; i3++) {
+            var len2 = _h.length;
+            for (var i3 = 0; i3 < len2; i3++) {
               var hItem = _h[i3];
               if (eventProcessor && eventProcessor.filter && hItem.query != null && !eventProcessor.filter(eventType, hItem.query)) {
                 continue;
@@ -95394,8 +95455,8 @@ function requireEcharts() {
           if (_h) {
             var argLen = args.length;
             var ctx = args[argLen - 1];
-            var len3 = _h.length;
-            for (var i3 = 0; i3 < len3; i3++) {
+            var len2 = _h.length;
+            for (var i3 = 0; i3 < len2; i3++) {
               var hItem = _h[i3];
               if (eventProcessor && eventProcessor.filter && hItem.query != null && !eventProcessor.filter(type2, hItem.query)) {
                 continue;
@@ -95548,8 +95609,8 @@ function requireEcharts() {
       function isCanvasEl2(el) {
         return el.nodeName.toUpperCase() === "CANVAS";
       }
-      var replaceReg2 = /([&<>"'])/g;
-      var replaceMap2 = {
+      var replaceReg = /([&<>"'])/g;
+      var replaceMap = {
         "&": "&amp;",
         "<": "&lt;",
         ">": "&gt;",
@@ -95557,8 +95618,8 @@ function requireEcharts() {
         "'": "&#39;"
       };
       function encodeHTML2(source) {
-        return source == null ? "" : (source + "").replace(replaceReg2, function(str, c2) {
-          return replaceMap2[c2];
+        return source == null ? "" : (source + "").replace(replaceReg, function(str, c2) {
+          return replaceMap[c2];
         });
       }
       var MOUSE_EVENT_REG2 = /^(?:mouse|pointer|contextmenu|drag|drop)|click/;
@@ -95673,7 +95734,7 @@ function requireEcharts() {
             target,
             event: event2
           };
-          for (var i3 = 0, len3 = touches.length; i3 < len3; i3++) {
+          for (var i3 = 0, len2 = touches.length; i3 < len2; i3++) {
             var touch = touches[i3];
             var pos = clientToLocal2(root, touch, {});
             trackItem.points.push([pos.zrX, pos.zrY]);
@@ -95693,7 +95754,7 @@ function requireEcharts() {
         };
         return GestureMgr3;
       }();
-      function dist$12(pointPair) {
+      function dist$1(pointPair) {
         var dx = pointPair[1][0] - pointPair[0][0];
         var dy = pointPair[1][1] - pointPair[0][1];
         return Math.sqrt(dx * dx + dy * dy);
@@ -95713,7 +95774,7 @@ function requireEcharts() {
           var pinchEnd = (tracks[trackLen - 1] || {}).points;
           var pinchPre = (tracks[trackLen - 2] || {}).points || pinchEnd;
           if (pinchPre && pinchPre.length > 1 && pinchEnd && pinchEnd.length > 1) {
-            var pinchScale = dist$12(pinchEnd) / dist$12(pinchPre);
+            var pinchScale = dist$1(pinchEnd) / dist$1(pinchPre);
             !isFinite(pinchScale) && (pinchScale = 1);
             event2.pinchScale = pinchScale;
             var pinchCenter = center2(pinchEnd);
@@ -95727,10 +95788,10 @@ function requireEcharts() {
           }
         }
       };
-      function create$12() {
+      function create$1() {
         return [1, 0, 0, 1, 0, 0];
       }
-      function identity2(out3) {
+      function identity(out3) {
         out3[0] = 1;
         out3[1] = 0;
         out3[2] = 0;
@@ -95739,7 +95800,7 @@ function requireEcharts() {
         out3[5] = 0;
         return out3;
       }
-      function copy$12(out3, m3) {
+      function copy$1(out3, m3) {
         out3[0] = m3[0];
         out3[1] = m3[1];
         out3[2] = m3[2];
@@ -95748,7 +95809,7 @@ function requireEcharts() {
         out3[5] = m3[5];
         return out3;
       }
-      function mul$12(out3, m1, m22) {
+      function mul$1(out3, m1, m22) {
         var out0 = m1[0] * m22[0] + m1[2] * m22[1];
         var out1 = m1[1] * m22[0] + m1[3] * m22[1];
         var out22 = m1[0] * m22[2] + m1[2] * m22[3];
@@ -95763,7 +95824,7 @@ function requireEcharts() {
         out3[5] = out5;
         return out3;
       }
-      function translate2(out3, a2, v) {
+      function translate(out3, a2, v) {
         out3[0] = a2[0];
         out3[1] = a2[1];
         out3[2] = a2[2];
@@ -95772,7 +95833,7 @@ function requireEcharts() {
         out3[5] = a2[5] + v[1];
         return out3;
       }
-      function rotate2(out3, a2, rad, pivot) {
+      function rotate(out3, a2, rad, pivot) {
         if (pivot === void 0) {
           pivot = [0, 0];
         }
@@ -95792,7 +95853,7 @@ function requireEcharts() {
         out3[5] = ct * (aty - pivot[1]) - st * (atx - pivot[0]) + pivot[1];
         return out3;
       }
-      function scale$12(out3, a2, v) {
+      function scale$1(out3, a2, v) {
         var vx = v[0];
         var vy = v[1];
         out3[0] = a2[0] * vx;
@@ -95803,7 +95864,7 @@ function requireEcharts() {
         out3[5] = a2[5] * vy;
         return out3;
       }
-      function invert2(out3, a2) {
+      function invert(out3, a2) {
         var aa = a2[0];
         var ac = a2[2];
         var atx = a2[4];
@@ -95824,20 +95885,20 @@ function requireEcharts() {
         return out3;
       }
       function clone$22(a2) {
-        var b = create$12();
-        copy$12(b, a2);
+        var b = create$1();
+        copy$1(b, a2);
         return b;
       }
       var matrix2 = /* @__PURE__ */ Object.freeze({
         __proto__: null,
-        create: create$12,
-        identity: identity2,
-        copy: copy$12,
-        mul: mul$12,
-        translate: translate2,
-        rotate: rotate2,
-        scale: scale$12,
-        invert: invert2,
+        create: create$1,
+        identity,
+        copy: copy$1,
+        mul: mul$1,
+        translate,
+        rotate,
+        scale: scale$1,
+        invert,
         clone: clone$22
       });
       var Point = function() {
@@ -95889,9 +95950,9 @@ function requireEcharts() {
           return this.x * this.x + this.y * this.y;
         };
         Point2.prototype.normalize = function() {
-          var len3 = this.len();
-          this.x /= len3;
-          this.y /= len3;
+          var len2 = this.len();
+          this.x /= len2;
+          this.y /= len2;
           return this;
         };
         Point2.prototype.distance = function(other) {
@@ -96014,10 +96075,10 @@ function requireEcharts() {
           var a2 = this;
           var sx = b.width / a2.width;
           var sy = b.height / a2.height;
-          var m3 = create$12();
-          translate2(m3, m3, [-a2.x, -a2.y]);
-          scale$12(m3, m3, [sx, sy]);
-          translate2(m3, m3, [b.x, b.y]);
+          var m3 = create$1();
+          translate(m3, m3, [-a2.x, -a2.y]);
+          scale$1(m3, m3, [sx, sy]);
+          translate(m3, m3, [b.x, b.y]);
           return m3;
         };
         BoundingRect3.prototype.intersect = function(b, mtv) {
@@ -96520,12 +96581,12 @@ function requireEcharts() {
           array[left] = pivot;
         }
       }
-      function gallopLeft2(value, array, start2, length3, hint, compare3) {
+      function gallopLeft2(value, array, start2, length2, hint, compare3) {
         var lastOffset = 0;
         var maxOffset = 0;
         var offset2 = 1;
         if (compare3(value, array[start2 + hint]) > 0) {
-          maxOffset = length3 - hint;
+          maxOffset = length2 - hint;
           while (offset2 < maxOffset && compare3(value, array[start2 + hint + offset2]) > 0) {
             lastOffset = offset2;
             offset2 = (offset2 << 1) + 1;
@@ -96565,7 +96626,7 @@ function requireEcharts() {
         }
         return offset2;
       }
-      function gallopRight2(value, array, start2, length3, hint, compare3) {
+      function gallopRight2(value, array, start2, length2, hint, compare3) {
         var lastOffset = 0;
         var maxOffset = 0;
         var offset2 = 1;
@@ -96585,7 +96646,7 @@ function requireEcharts() {
           lastOffset = hint - offset2;
           offset2 = hint - tmp;
         } else {
-          maxOffset = length3 - hint;
+          maxOffset = length2 - hint;
           while (offset2 < maxOffset && compare3(value, array[start2 + hint + offset2]) >= 0) {
             lastOffset = offset2;
             offset2 = (offset2 << 1) + 1;
@@ -96649,8 +96710,8 @@ function requireEcharts() {
           var start1 = runStart[i3];
           var length1 = runLength[i3];
           var start2 = runStart[i3 + 1];
-          var length22 = runLength[i3 + 1];
-          runLength[i3] = length1 + length22;
+          var length2 = runLength[i3 + 1];
+          runLength[i3] = length1 + length2;
           if (i3 === stackSize - 3) {
             runStart[i3 + 1] = runStart[i3 + 2];
             runLength[i3 + 1] = runLength[i3 + 2];
@@ -96662,17 +96723,17 @@ function requireEcharts() {
           if (length1 === 0) {
             return;
           }
-          length22 = gallopLeft2(array[start1 + length1 - 1], array, start2, length22, length22 - 1, compare3);
-          if (length22 === 0) {
+          length2 = gallopLeft2(array[start1 + length1 - 1], array, start2, length2, length2 - 1, compare3);
+          if (length2 === 0) {
             return;
           }
-          if (length1 <= length22) {
-            mergeLow(start1, length1, start2, length22);
+          if (length1 <= length2) {
+            mergeLow(start1, length1, start2, length2);
           } else {
-            mergeHigh(start1, length1, start2, length22);
+            mergeHigh(start1, length1, start2, length2);
           }
         }
-        function mergeLow(start1, length1, start2, length22) {
+        function mergeLow(start1, length1, start2, length2) {
           var i3 = 0;
           for (i3 = 0; i3 < length1; i3++) {
             tmp[i3] = array[start1 + i3];
@@ -96681,17 +96742,17 @@ function requireEcharts() {
           var cursor2 = start2;
           var dest = start1;
           array[dest++] = array[cursor2++];
-          if (--length22 === 0) {
+          if (--length2 === 0) {
             for (i3 = 0; i3 < length1; i3++) {
               array[dest + i3] = tmp[cursor1 + i3];
             }
             return;
           }
           if (length1 === 1) {
-            for (i3 = 0; i3 < length22; i3++) {
+            for (i3 = 0; i3 < length2; i3++) {
               array[dest + i3] = array[cursor2 + i3];
             }
-            array[dest + length22] = tmp[cursor1];
+            array[dest + length2] = tmp[cursor1];
             return;
           }
           var _minGallop = minGallop;
@@ -96707,7 +96768,7 @@ function requireEcharts() {
                 array[dest++] = array[cursor2++];
                 count2++;
                 count1 = 0;
-                if (--length22 === 0) {
+                if (--length2 === 0) {
                   exit = true;
                   break;
                 }
@@ -96739,19 +96800,19 @@ function requireEcharts() {
                 }
               }
               array[dest++] = array[cursor2++];
-              if (--length22 === 0) {
+              if (--length2 === 0) {
                 exit = true;
                 break;
               }
-              count2 = gallopLeft2(tmp[cursor1], array, cursor2, length22, 0, compare3);
+              count2 = gallopLeft2(tmp[cursor1], array, cursor2, length2, 0, compare3);
               if (count2 !== 0) {
                 for (i3 = 0; i3 < count2; i3++) {
                   array[dest + i3] = array[cursor2 + i3];
                 }
                 dest += count2;
                 cursor2 += count2;
-                length22 -= count2;
-                if (length22 === 0) {
+                length2 -= count2;
+                if (length2 === 0) {
                   exit = true;
                   break;
                 }
@@ -96774,10 +96835,10 @@ function requireEcharts() {
           minGallop = _minGallop;
           minGallop < 1 && (minGallop = 1);
           if (length1 === 1) {
-            for (i3 = 0; i3 < length22; i3++) {
+            for (i3 = 0; i3 < length2; i3++) {
               array[dest + i3] = array[cursor2 + i3];
             }
-            array[dest + length22] = tmp[cursor1];
+            array[dest + length2] = tmp[cursor1];
           } else if (length1 === 0) {
             throw new Error();
           } else {
@@ -96786,25 +96847,25 @@ function requireEcharts() {
             }
           }
         }
-        function mergeHigh(start1, length1, start2, length22) {
+        function mergeHigh(start1, length1, start2, length2) {
           var i3 = 0;
-          for (i3 = 0; i3 < length22; i3++) {
+          for (i3 = 0; i3 < length2; i3++) {
             tmp[i3] = array[start2 + i3];
           }
           var cursor1 = start1 + length1 - 1;
-          var cursor2 = length22 - 1;
-          var dest = start2 + length22 - 1;
+          var cursor2 = length2 - 1;
+          var dest = start2 + length2 - 1;
           var customCursor = 0;
           var customDest = 0;
           array[dest--] = array[cursor1--];
           if (--length1 === 0) {
-            customCursor = dest - (length22 - 1);
-            for (i3 = 0; i3 < length22; i3++) {
+            customCursor = dest - (length2 - 1);
+            for (i3 = 0; i3 < length2; i3++) {
               array[customCursor + i3] = tmp[i3];
             }
             return;
           }
-          if (length22 === 1) {
+          if (length2 === 1) {
             dest -= length1;
             cursor1 -= length1;
             customDest = dest + 1;
@@ -96833,7 +96894,7 @@ function requireEcharts() {
                 array[dest--] = tmp[cursor2--];
                 count2++;
                 count1 = 0;
-                if (--length22 === 1) {
+                if (--length2 === 1) {
                   exit = true;
                   break;
                 }
@@ -96859,21 +96920,21 @@ function requireEcharts() {
                 }
               }
               array[dest--] = tmp[cursor2--];
-              if (--length22 === 1) {
+              if (--length2 === 1) {
                 exit = true;
                 break;
               }
-              count2 = length22 - gallopLeft2(array[cursor1], tmp, 0, length22, length22 - 1, compare3);
+              count2 = length2 - gallopLeft2(array[cursor1], tmp, 0, length2, length2 - 1, compare3);
               if (count2 !== 0) {
                 dest -= count2;
                 cursor2 -= count2;
-                length22 -= count2;
+                length2 -= count2;
                 customDest = dest + 1;
                 customCursor = cursor2 + 1;
                 for (i3 = 0; i3 < count2; i3++) {
                   array[customDest + i3] = tmp[customCursor + i3];
                 }
-                if (length22 <= 1) {
+                if (length2 <= 1) {
                   exit = true;
                   break;
                 }
@@ -96897,7 +96958,7 @@ function requireEcharts() {
           if (minGallop < 1) {
             minGallop = 1;
           }
-          if (length22 === 1) {
+          if (length2 === 1) {
             dest -= length1;
             cursor1 -= length1;
             customDest = dest + 1;
@@ -96906,11 +96967,11 @@ function requireEcharts() {
               array[customDest + i3] = array[customCursor + i3];
             }
             array[dest] = tmp[cursor2];
-          } else if (length22 === 0) {
+          } else if (length2 === 0) {
             throw new Error();
           } else {
-            customCursor = dest - (length22 - 1);
-            for (i3 = 0; i3 < length22; i3++) {
+            customCursor = dest - (length2 - 1);
+            for (i3 = 0; i3 < length2; i3++) {
               array[customCursor + i3] = tmp[i3];
             }
           }
@@ -97001,7 +97062,7 @@ function requireEcharts() {
           this._displayListLen = 0;
           var roots3 = this._roots;
           var displayList = this._displayList;
-          for (var i3 = 0, len3 = roots3.length; i3 < len3; i3++) {
+          for (var i3 = 0, len2 = roots3.length; i3 < len2; i3++) {
             this._updateAndAddDisplayable(roots3[i3], null, includeIgnore);
           }
           displayList.length = this._displayListLen;
@@ -97305,9 +97366,9 @@ function requireEcharts() {
       var EPSILON_NUMERIC2 = 1e-4;
       var THREE_SQRT2 = mathSqrt2(3);
       var ONE_THIRD2 = 1 / 3;
-      var _v02 = create2();
-      var _v12 = create2();
-      var _v22 = create2();
+      var _v02 = create();
+      var _v12 = create();
+      var _v22 = create();
       function isAroundZero2(val) {
         return val > -EPSILON2 && val < EPSILON2;
       }
@@ -97450,7 +97511,7 @@ function requireEcharts() {
         for (var _t = 0; _t < 1; _t += 0.05) {
           _v12[0] = cubicAt2(x0, x1, x2, x3, _t);
           _v12[1] = cubicAt2(y0, y1, y2, y3, _t);
-          d1 = distSquare2(_v02, _v12);
+          d1 = distSquare(_v02, _v12);
           if (d1 < d2) {
             t2 = _t;
             d2 = d1;
@@ -97465,14 +97526,14 @@ function requireEcharts() {
           next = t2 + interval;
           _v12[0] = cubicAt2(x0, x1, x2, x3, prev);
           _v12[1] = cubicAt2(y0, y1, y2, y3, prev);
-          d1 = distSquare2(_v12, _v02);
+          d1 = distSquare(_v12, _v02);
           if (prev >= 0 && d1 < d2) {
             t2 = prev;
             d2 = d1;
           } else {
             _v22[0] = cubicAt2(x0, x1, x2, x3, next);
             _v22[1] = cubicAt2(y0, y1, y2, y3, next);
-            d22 = distSquare2(_v22, _v02);
+            d22 = distSquare(_v22, _v02);
             if (next <= 1 && d22 < d2) {
               t2 = next;
               d2 = d22;
@@ -97572,7 +97633,7 @@ function requireEcharts() {
         for (var _t = 0; _t < 1; _t += 0.05) {
           _v12[0] = quadraticAt2(x0, x1, x2, _t);
           _v12[1] = quadraticAt2(y0, y1, y2, _t);
-          var d1 = distSquare2(_v02, _v12);
+          var d1 = distSquare(_v02, _v12);
           if (d1 < d2) {
             t2 = _t;
             d2 = d1;
@@ -97587,14 +97648,14 @@ function requireEcharts() {
           var next = t2 + interval;
           _v12[0] = quadraticAt2(x0, x1, x2, prev);
           _v12[1] = quadraticAt2(y0, y1, y2, prev);
-          var d1 = distSquare2(_v12, _v02);
+          var d1 = distSquare(_v12, _v02);
           if (prev >= 0 && d1 < d2) {
             t2 = prev;
             d2 = d1;
           } else {
             _v22[0] = quadraticAt2(x0, x1, x2, next);
             _v22[1] = quadraticAt2(y0, y1, y2, next);
-            var d22 = distSquare2(_v22, _v02);
+            var d22 = distSquare(_v22, _v02);
             if (next <= 1 && d22 < d2) {
               t2 = next;
               d2 = d22;
@@ -97764,9 +97825,9 @@ function requireEcharts() {
           var map3 = this._map;
           var removed = null;
           if (map3[key2] == null) {
-            var len3 = list.len();
+            var len2 = list.len();
             var entry = this._lastRemovedEntry;
-            if (len3 >= this._maxSize && len3 > 0) {
+            if (len2 >= this._maxSize && len2 > 0) {
               var leastUsedEntry = list.head;
               list.remove(leastUsedEntry);
               delete map3[leastUsedEntry.key];
@@ -98205,7 +98266,7 @@ function requireEcharts() {
         return out3;
       }
       var fastMapToColor2 = fastLerp2;
-      function lerp$12(normalizedValue, colors, fullOutput) {
+      function lerp$1(normalizedValue, colors, fullOutput) {
         if (!(colors && colors.length) || !(normalizedValue >= 0 && normalizedValue <= 1)) {
           return;
         }
@@ -98228,7 +98289,7 @@ function requireEcharts() {
           value
         } : color3;
       }
-      var mapToColor2 = lerp$12;
+      var mapToColor2 = lerp$1;
       function modifyHSL2(color3, h3, s2, l2) {
         var colorArr = parse2(color3);
         if (color3) {
@@ -98295,7 +98356,7 @@ function requireEcharts() {
         toHex: toHex2,
         fastLerp: fastLerp2,
         fastMapToColor: fastMapToColor2,
-        lerp: lerp$12,
+        lerp: lerp$1,
         mapToColor: mapToColor2,
         modifyHSL: modifyHSL2,
         modifyAlpha: modifyAlpha2,
@@ -98385,8 +98446,8 @@ function requireEcharts() {
         return "url(#" + id + ")";
       }
       function getPathPrecision(el) {
-        var scale3 = el.getGlobalScale();
-        var size = Math.max(scale3[0], scale3[1]);
+        var scale2 = el.getGlobalScale();
+        var size = Math.max(scale2[0], scale2[1]);
         return Math.max(Math.ceil(Math.log(size) / Math.log(10)), 1);
       }
       function getSRTTransformString(transform2) {
@@ -98435,16 +98496,16 @@ function requireEcharts() {
         return (p1 - p0) * percent + p0;
       }
       function interpolate1DArray(out3, p0, p1, percent) {
-        var len3 = p0.length;
-        for (var i3 = 0; i3 < len3; i3++) {
+        var len2 = p0.length;
+        for (var i3 = 0; i3 < len2; i3++) {
           out3[i3] = interpolateNumber2(p0[i3], p1[i3], percent);
         }
         return out3;
       }
       function interpolate2DArray(out3, p0, p1, percent) {
-        var len3 = p0.length;
-        var len22 = len3 && p0[0].length;
-        for (var i3 = 0; i3 < len3; i3++) {
+        var len2 = p0.length;
+        var len22 = len2 && p0[0].length;
+        for (var i3 = 0; i3 < len2; i3++) {
           if (!out3[i3]) {
             out3[i3] = [];
           }
@@ -98455,16 +98516,16 @@ function requireEcharts() {
         return out3;
       }
       function add1DArray(out3, p0, p1, sign) {
-        var len3 = p0.length;
-        for (var i3 = 0; i3 < len3; i3++) {
+        var len2 = p0.length;
+        for (var i3 = 0; i3 < len2; i3++) {
           out3[i3] = p0[i3] + p1[i3] * sign;
         }
         return out3;
       }
       function add2DArray(out3, p0, p1, sign) {
-        var len3 = p0.length;
-        var len22 = len3 && p0[0].length;
-        for (var i3 = 0; i3 < len3; i3++) {
+        var len2 = p0.length;
+        var len22 = len2 && p0[0].length;
+        for (var i3 = 0; i3 < len2; i3++) {
           if (!out3[i3]) {
             out3[i3] = [];
           }
@@ -98505,14 +98566,14 @@ function requireEcharts() {
             }
           }
         }
-        var len22 = arr0[0] && arr0[0].length;
+        var len2 = arr0[0] && arr0[0].length;
         for (var i3 = 0; i3 < arr0.length; i3++) {
           if (arrDim === 1) {
             if (isNaN(arr0[i3])) {
               arr0[i3] = arr1[i3];
             }
           } else {
-            for (var j = 0; j < len22; j++) {
+            for (var j = 0; j < len2; j++) {
               if (isNaN(arr0[i3][j])) {
                 arr0[i3][j] = arr1[i3][j];
               }
@@ -98522,10 +98583,10 @@ function requireEcharts() {
       }
       function cloneValue2(value) {
         if (isArrayLike2(value)) {
-          var len3 = value.length;
+          var len2 = value.length;
           if (isArrayLike2(value[0])) {
             var ret = [];
-            for (var i3 = 0; i3 < len3; i3++) {
+            for (var i3 = 0; i3 < len2; i3++) {
               ret.push(arraySlice2.call(value[i3]));
             }
             return ret;
@@ -98586,7 +98647,7 @@ function requireEcharts() {
         Track2.prototype.addKeyframe = function(time2, rawValue, easing2) {
           this._needsSort = true;
           var keyframes = this.keyframes;
-          var len3 = keyframes.length;
+          var len2 = keyframes.length;
           var discrete = false;
           var valType = VALUE_TYPE_UNKOWN;
           var value = rawValue;
@@ -98625,7 +98686,7 @@ function requireEcharts() {
               value = parsedGradient;
             }
           }
-          if (len3 === 0) {
+          if (len2 === 0) {
             this.valType = valType;
           } else if (valType !== this.valType || valType === VALUE_TYPE_UNKOWN) {
             discrete = true;
@@ -98890,8 +98951,8 @@ function requireEcharts() {
           this._clip = null;
           var doneList = this._doneCbs;
           if (doneList) {
-            var len3 = doneList.length;
-            for (var i3 = 0; i3 < len3; i3++) {
+            var len2 = doneList.length;
+            for (var i3 = 0; i3 < len2; i3++) {
               doneList[i3].call(this);
             }
           }
@@ -99560,14 +99621,14 @@ function requireEcharts() {
       var DARK_LABEL_COLOR = "#333";
       var LIGHT_LABEL_COLOR = "#ccc";
       var LIGHTER_LABEL_COLOR = "#eee";
-      var mIdentity2 = identity2;
+      var mIdentity2 = identity;
       var EPSILON$22 = 5e-5;
       function isNotAroundZero$12(val) {
         return val > EPSILON$22 || val < -EPSILON$22;
       }
       var scaleTmp2 = [];
       var tmpTransform2 = [];
-      var originTransform2 = create$12();
+      var originTransform2 = create$1();
       var abs2 = Math.abs;
       var Transformable2 = function() {
         function Transformable3() {
@@ -99605,7 +99666,7 @@ function requireEcharts() {
             }
             return;
           }
-          m3 = m3 || create$12();
+          m3 = m3 || create$1();
           if (needLocalTransform) {
             this.getLocalTransform(m3);
           } else {
@@ -99613,9 +99674,9 @@ function requireEcharts() {
           }
           if (parentTransform) {
             if (needLocalTransform) {
-              mul$12(m3, parentTransform, m3);
+              mul$1(m3, parentTransform, m3);
             } else {
-              copy$12(m3, parentTransform);
+              copy$1(m3, parentTransform);
             }
           }
           this.transform = m3;
@@ -99634,8 +99695,8 @@ function requireEcharts() {
             m3[2] *= sy;
             m3[3] *= sy;
           }
-          this.invTransform = this.invTransform || create$12();
-          invert2(this.invTransform, m3);
+          this.invTransform = this.invTransform || create$1();
+          invert(this.invTransform, m3);
         };
         Transformable3.prototype.getComputedTransform = function() {
           var transformNode = this;
@@ -99676,8 +99737,8 @@ function requireEcharts() {
           var parent3 = this.parent;
           var m3 = this.transform;
           if (parent3 && parent3.transform) {
-            parent3.invTransform = parent3.invTransform || create$12();
-            mul$12(tmpTransform2, parent3.invTransform, m3);
+            parent3.invTransform = parent3.invTransform || create$1();
+            mul$1(tmpTransform2, parent3.invTransform, m3);
             m3 = tmpTransform2;
           }
           var ox = this.originX;
@@ -99685,7 +99746,7 @@ function requireEcharts() {
           if (ox || oy) {
             originTransform2[4] = ox;
             originTransform2[5] = oy;
-            mul$12(tmpTransform2, m3, originTransform2);
+            mul$1(tmpTransform2, m3, originTransform2);
             tmpTransform2[4] -= ox;
             tmpTransform2[5] -= oy;
             m3 = tmpTransform2;
@@ -99758,7 +99819,7 @@ function requireEcharts() {
           m3[3] = sy;
           m3[1] = skewY * sx;
           m3[2] = skewX * sy;
-          rotation && rotate2(m3, m3, rotation);
+          rotation && rotate(m3, m3, rotation);
           m3[4] += ox + x;
           m3[5] += oy + y;
           return m3;
@@ -99813,8 +99874,8 @@ function requireEcharts() {
       }
       function getBoundingRect2(text2, font, textAlign, textBaseline) {
         var textLines = ((text2 || "") + "").split("\n");
-        var len3 = textLines.length;
-        if (len3 === 1) {
+        var len2 = textLines.length;
+        if (len2 === 1) {
           return innerGetBoundingRect(textLines[0], font, textAlign, textBaseline);
         } else {
           var uniondRect = new BoundingRect2(0, 0, 0, 0);
@@ -99855,7 +99916,7 @@ function requireEcharts() {
       }
       function calculateTextPosition2(out3, opts, rect) {
         var textPosition = opts.position || "inside";
-        var distance3 = opts.distance != null ? opts.distance : 5;
+        var distance2 = opts.distance != null ? opts.distance : 5;
         var height = rect.height;
         var width = rect.width;
         var halfHeight = height / 2;
@@ -99871,25 +99932,25 @@ function requireEcharts() {
         } else {
           switch (textPosition) {
             case "left":
-              x -= distance3;
+              x -= distance2;
               y += halfHeight;
               textAlign = "right";
               textVerticalAlign = "middle";
               break;
             case "right":
-              x += distance3 + width;
+              x += distance2 + width;
               y += halfHeight;
               textVerticalAlign = "middle";
               break;
             case "top":
               x += width / 2;
-              y -= distance3;
+              y -= distance2;
               textAlign = "center";
               textVerticalAlign = "bottom";
               break;
             case "bottom":
               x += width / 2;
-              y += height + distance3;
+              y += height + distance2;
               textAlign = "center";
               break;
             case "inside":
@@ -99899,44 +99960,44 @@ function requireEcharts() {
               textVerticalAlign = "middle";
               break;
             case "insideLeft":
-              x += distance3;
+              x += distance2;
               y += halfHeight;
               textVerticalAlign = "middle";
               break;
             case "insideRight":
-              x += width - distance3;
+              x += width - distance2;
               y += halfHeight;
               textAlign = "right";
               textVerticalAlign = "middle";
               break;
             case "insideTop":
               x += width / 2;
-              y += distance3;
+              y += distance2;
               textAlign = "center";
               break;
             case "insideBottom":
               x += width / 2;
-              y += height - distance3;
+              y += height - distance2;
               textAlign = "center";
               textVerticalAlign = "bottom";
               break;
             case "insideTopLeft":
-              x += distance3;
-              y += distance3;
+              x += distance2;
+              y += distance2;
               break;
             case "insideTopRight":
-              x += width - distance3;
-              y += distance3;
+              x += width - distance2;
+              y += distance2;
               textAlign = "right";
               break;
             case "insideBottomLeft":
-              x += distance3;
-              y += height - distance3;
+              x += distance2;
+              y += height - distance2;
               textVerticalAlign = "bottom";
               break;
             case "insideBottomRight":
-              x += width - distance3;
-              y += height - distance3;
+              x += width - distance2;
+              y += height - distance2;
               textAlign = "right";
               textVerticalAlign = "bottom";
               break;
@@ -100274,10 +100335,10 @@ function requireEcharts() {
           } else {
             var stateObjects = [];
             var currentStates = this.currentStates;
-            var len3 = states.length;
-            var notChange = len3 === currentStates.length;
+            var len2 = states.length;
+            var notChange = len2 === currentStates.length;
             if (notChange) {
-              for (var i3 = 0; i3 < len3; i3++) {
+              for (var i3 = 0; i3 < len2; i3++) {
                 if (states[i3] !== currentStates[i3]) {
                   notChange = false;
                   break;
@@ -100287,7 +100348,7 @@ function requireEcharts() {
             if (notChange) {
               return;
             }
-            for (var i3 = 0; i3 < len3; i3++) {
+            for (var i3 = 0; i3 < len2; i3++) {
               var stateName = states[i3];
               var stateObj = void 0;
               if (this.stateProxy) {
@@ -100300,7 +100361,7 @@ function requireEcharts() {
                 stateObjects.push(stateObj);
               }
             }
-            var lastStateObj = stateObjects[len3 - 1];
+            var lastStateObj = stateObjects[len2 - 1];
             var useHoverLayer = !!(lastStateObj && lastStateObj.hoverLayer || forceUseHoverLayer);
             if (useHoverLayer) {
               this._toggleHoverLayerFlag(true);
@@ -100649,9 +100710,9 @@ function requireEcharts() {
         };
         Element3.prototype.stopAnimation = function(scope, forwardToLast) {
           var animators = this.animators;
-          var len3 = animators.length;
+          var len2 = animators.length;
           var leftAnimators = [];
-          for (var i3 = 0; i3 < len3; i3++) {
+          for (var i3 = 0; i3 < len2; i3++) {
             var animator = animators[i3];
             if (!scope || scope === animator.scope) {
               animator.stop(forwardToLast);
@@ -100788,8 +100849,8 @@ function requireEcharts() {
         }
         return animators;
       }
-      function copyArrShallow(source, target, len3) {
-        for (var i3 = 0; i3 < len3; i3++) {
+      function copyArrShallow(source, target, len2) {
+        for (var i3 = 0; i3 < len2; i3++) {
           source[i3] = target[i3];
         }
       }
@@ -100802,10 +100863,10 @@ function requireEcharts() {
             target[key2] = [];
           }
           if (isTypedArray2(source[key2])) {
-            var len3 = source[key2].length;
-            if (target[key2].length !== len3) {
-              target[key2] = new source[key2].constructor(len3);
-              copyArrShallow(target[key2], source[key2], len3);
+            var len2 = source[key2].length;
+            if (target[key2].length !== len2) {
+              target[key2] = new source[key2].constructor(len2);
+              copyArrShallow(target[key2], source[key2], len2);
             }
           } else {
             var sourceArr = source[key2];
@@ -100833,11 +100894,11 @@ function requireEcharts() {
         return val1 === val2 || isArrayLike2(val1) && isArrayLike2(val2) && is1DArraySame(val1, val2);
       }
       function is1DArraySame(arr0, arr1) {
-        var len3 = arr0.length;
-        if (len3 !== arr1.length) {
+        var len2 = arr0.length;
+        if (len2 !== arr1.length) {
           return false;
         }
-        for (var i3 = 0; i3 < len3; i3++) {
+        for (var i3 = 0; i3 < len2; i3++) {
           if (arr0[i3] !== arr1[i3]) {
             return false;
           }
@@ -101133,11 +101194,11 @@ function requireEcharts() {
         } else if (backgroundColor2.colorStops) {
           var colorStops = backgroundColor2.colorStops;
           var totalLum = 0;
-          var len3 = colorStops.length;
-          for (var i3 = 0; i3 < len3; i3++) {
+          var len2 = colorStops.length;
+          for (var i3 = 0; i3 < len2; i3++) {
             totalLum += lum(colorStops[i3].color, 1);
           }
-          totalLum /= len3;
+          totalLum /= len2;
           return totalLum < DARK_MODE_THRESHOLD;
         }
         return false;
@@ -101569,7 +101630,7 @@ function requireEcharts() {
         while (currentSum < targetSeats) {
           var max4 = Number.NEGATIVE_INFINITY;
           var maxId = null;
-          for (var i3 = 0, len3 = remainder.length; i3 < len3; ++i3) {
+          for (var i3 = 0, len2 = remainder.length; i3 < len2; ++i3) {
             if (remainder[i3] > max4) {
               max4 = remainder[i3];
               maxId = i3;
@@ -101808,7 +101869,7 @@ function requireEcharts() {
           opt[key2] = opt[key2] || {};
           opt.emphasis = opt.emphasis || {};
           opt.emphasis[key2] = opt.emphasis[key2] || {};
-          for (var i3 = 0, len3 = subOpts.length; i3 < len3; i3++) {
+          for (var i3 = 0, len2 = subOpts.length; i3 < len2; i3++) {
             var subOptName = subOpts[i3];
             if (!opt.emphasis[key2].hasOwnProperty(subOptName) && opt[key2].hasOwnProperty(subOptName)) {
               opt.emphasis[key2][subOptName] = opt[key2][subOptName];
@@ -102037,7 +102098,7 @@ function requireEcharts() {
         makeMap(batchB || [], mapB, mapA);
         return [mapToArray(mapA), mapToArray(mapB)];
         function makeMap(sourceBatch, map3, otherMap) {
-          for (var i3 = 0, len3 = sourceBatch.length; i3 < len3; i3++) {
+          for (var i3 = 0, len2 = sourceBatch.length; i3 < len2; i3++) {
             var seriesId = convertOptionIdName(sourceBatch[i3].seriesId, null);
             if (seriesId == null) {
               return;
@@ -102424,14 +102485,14 @@ function requireEcharts() {
         // Option decal is in `DecalObject` but style.decal is in `PatternObject`.
         // So do not transfer decal directly.
       ];
-      var getAreaStyle2 = makeStyleMapper2(AREA_STYLE_KEY_MAP);
+      var getAreaStyle = makeStyleMapper2(AREA_STYLE_KEY_MAP);
       var AreaStyleMixin = (
         /** @class */
         function() {
           function AreaStyleMixin2() {
           }
           AreaStyleMixin2.prototype.getAreaStyle = function(excludes, includes) {
-            return getAreaStyle2(this, excludes, includes);
+            return getAreaStyle(this, excludes, includes);
           };
           return AreaStyleMixin2;
         }()
@@ -102491,7 +102552,7 @@ function requireEcharts() {
         }
         var textLines = (text2 + "").split("\n");
         options = prepareTruncateOptions2(containerWidth, font, ellipsis, options);
-        for (var i3 = 0, len3 = textLines.length; i3 < len3; i3++) {
+        for (var i3 = 0, len2 = textLines.length; i3 < len2; i3++) {
           textLines[i3] = truncateSingleLine2(textLines[i3], options);
         }
         return textLines.join("\n");
@@ -102550,7 +102611,7 @@ function requireEcharts() {
       function estimateLength2(text2, contentWidth, ascCharWidth, cnCharWidth) {
         var width = 0;
         var i3 = 0;
-        for (var len3 = text2.length; i3 < len3 && width < contentWidth; i3++) {
+        for (var len2 = text2.length; i3 < len2 && width < contentWidth; i3++) {
           var charCode = text2.charCodeAt(i3);
           width += 0 <= charCode && charCode <= 127 ? ascCharWidth : cnCharWidth;
         }
@@ -103214,25 +103275,25 @@ function requireEcharts() {
         }();
         return Displayable3;
       }(Element2);
-      var tmpRect$1 = new BoundingRect2(0, 0, 0, 0);
+      var tmpRect$12 = new BoundingRect2(0, 0, 0, 0);
       var viewRect2 = new BoundingRect2(0, 0, 0, 0);
       function isDisplayableCulled2(el, width, height) {
-        tmpRect$1.copy(el.getBoundingRect());
+        tmpRect$12.copy(el.getBoundingRect());
         if (el.transform) {
-          tmpRect$1.applyTransform(el.transform);
+          tmpRect$12.applyTransform(el.transform);
         }
         viewRect2.width = width;
         viewRect2.height = height;
-        return !tmpRect$1.intersect(viewRect2);
+        return !tmpRect$12.intersect(viewRect2);
       }
       var mathMin$12 = Math.min;
       var mathMax$12 = Math.max;
       var mathSin2 = Math.sin;
       var mathCos2 = Math.cos;
       var PI22 = Math.PI * 2;
-      var start = create2();
-      var end = create2();
-      var extremity = create2();
+      var start = create();
+      var end = create();
+      var extremity = create();
       function fromPoints(points3, min4, max4) {
         if (points3.length === 0) {
           return;
@@ -103302,23 +103363,23 @@ function requireEcharts() {
         max4[0] = mathMax$12(x0, x2, x);
         max4[1] = mathMax$12(y0, y2, y);
       }
-      function fromArc(x, y, rx, ry, startAngle, endAngle, anticlockwise, min$13, max$13) {
+      function fromArc(x, y, rx, ry, startAngle, endAngle, anticlockwise, min$12, max$12) {
         var vec2Min = min3;
         var vec2Max = max3;
         var diff = Math.abs(startAngle - endAngle);
         if (diff % PI22 < 1e-4 && diff > 1e-4) {
-          min$13[0] = x - rx;
-          min$13[1] = y - ry;
-          max$13[0] = x + rx;
-          max$13[1] = y + ry;
+          min$12[0] = x - rx;
+          min$12[1] = y - ry;
+          max$12[0] = x + rx;
+          max$12[1] = y + ry;
           return;
         }
         start[0] = mathCos2(startAngle) * rx + x;
         start[1] = mathSin2(startAngle) * ry + y;
         end[0] = mathCos2(endAngle) * rx + x;
         end[1] = mathSin2(endAngle) * ry + y;
-        vec2Min(min$13, start, end);
-        vec2Max(max$13, start, end);
+        vec2Min(min$12, start, end);
+        vec2Max(max$12, start, end);
         startAngle = startAngle % PI22;
         if (startAngle < 0) {
           startAngle = startAngle + PI22;
@@ -103341,8 +103402,8 @@ function requireEcharts() {
           if (angle > startAngle) {
             extremity[0] = mathCos2(angle) * rx + x;
             extremity[1] = mathSin2(angle) * ry + y;
-            vec2Min(min$13, extremity, min$13);
-            vec2Max(max$13, extremity, max$13);
+            vec2Min(min$12, extremity, min$12);
+            vec2Max(max$12, extremity, max$12);
           }
         }
       }
@@ -103357,8 +103418,8 @@ function requireEcharts() {
       };
       var tmpOutX = [];
       var tmpOutY = [];
-      var min$12 = [];
-      var max$12 = [];
+      var min$1 = [];
+      var max$1 = [];
       var min22 = [];
       var max22 = [];
       var mathMin$22 = Math.min;
@@ -103550,29 +103611,29 @@ function requireEcharts() {
           return this._len;
         };
         PathProxy3.prototype.setData = function(data) {
-          var len3 = data.length;
-          if (!(this.data && this.data.length === len3) && hasTypedArray2) {
-            this.data = new Float32Array(len3);
+          var len2 = data.length;
+          if (!(this.data && this.data.length === len2) && hasTypedArray2) {
+            this.data = new Float32Array(len2);
           }
-          for (var i3 = 0; i3 < len3; i3++) {
+          for (var i3 = 0; i3 < len2; i3++) {
             this.data[i3] = data[i3];
           }
-          this._len = len3;
+          this._len = len2;
         };
         PathProxy3.prototype.appendPath = function(path2) {
           if (!(path2 instanceof Array)) {
             path2 = [path2];
           }
-          var len3 = path2.length;
+          var len2 = path2.length;
           var appendSize = 0;
           var offset2 = this._len;
-          for (var i3 = 0; i3 < len3; i3++) {
+          for (var i3 = 0; i3 < len2; i3++) {
             appendSize += path2[i3].len();
           }
           if (hasTypedArray2 && this.data instanceof Float32Array) {
             this.data = new Float32Array(offset2 + appendSize);
           }
-          for (var i3 = 0; i3 < len3; i3++) {
+          for (var i3 = 0; i3 < len2; i3++) {
             var appendPathData = path2[i3].data;
             for (var k2 = 0; k2 < appendPathData.length; k2++) {
               this.data[offset2++] = appendPathData[k2];
@@ -103622,8 +103683,8 @@ function requireEcharts() {
           }
         };
         PathProxy3.prototype.getBoundingRect = function() {
-          min$12[0] = min$12[1] = min22[0] = min22[1] = Number.MAX_VALUE;
-          max$12[0] = max$12[1] = max22[0] = max22[1] = -Number.MAX_VALUE;
+          min$1[0] = min$1[1] = min22[0] = min22[1] = Number.MAX_VALUE;
+          max$1[0] = max$1[1] = max22[0] = max22[1] = -Number.MAX_VALUE;
           var data = this.data;
           var xi = 0;
           var yi = 0;
@@ -103692,17 +103753,17 @@ function requireEcharts() {
                 yi = y0;
                 break;
             }
-            min3(min$12, min$12, min22);
-            max3(max$12, max$12, max22);
+            min3(min$1, min$1, min22);
+            max3(max$1, max$1, max22);
           }
           if (i3 === 0) {
-            min$12[0] = min$12[1] = max$12[0] = max$12[1] = 0;
+            min$1[0] = min$1[1] = max$1[0] = max$1[1] = 0;
           }
-          return new BoundingRect2(min$12[0], min$12[1], max$12[0] - min$12[0], max$12[1] - min$12[1]);
+          return new BoundingRect2(min$1[0], min$1[1], max$1[0] - min$1[0], max$1[1] - min$1[1]);
         };
         PathProxy3.prototype._calculateLength = function() {
           var data = this.data;
-          var len3 = this._len;
+          var len2 = this._len;
           var ux = this._ux;
           var uy = this._uy;
           var xi = 0;
@@ -103715,7 +103776,7 @@ function requireEcharts() {
           var pathSegLen = this._pathSegLen;
           var pathTotalLen = 0;
           var segCount = 0;
-          for (var i3 = 0; i3 < len3; ) {
+          for (var i3 = 0; i3 < len2; ) {
             var cmd = data[i3++];
             var isFirst = i3 === 1;
             if (isFirst) {
@@ -103735,7 +103796,7 @@ function requireEcharts() {
                 var y2 = data[i3++];
                 var dx = x2 - xi;
                 var dy = y2 - yi;
-                if (mathAbs2(dx) > ux || mathAbs2(dy) > uy || i3 === len3 - 1) {
+                if (mathAbs2(dx) > ux || mathAbs2(dy) > uy || i3 === len2 - 1) {
                   l2 = Math.sqrt(dx * dx + dy * dy);
                   xi = x2;
                   yi = y2;
@@ -103810,7 +103871,7 @@ function requireEcharts() {
           var d2 = this.data;
           var ux = this._ux;
           var uy = this._uy;
-          var len3 = this._len;
+          var len2 = this._len;
           var x0;
           var y0;
           var xi;
@@ -103838,7 +103899,7 @@ function requireEcharts() {
             }
           }
           lo:
-            for (var i3 = 0; i3 < len3; ) {
+            for (var i3 = 0; i3 < len2; ) {
               var cmd = d2[i3++];
               var isFirst = i3 === 1;
               if (isFirst) {
@@ -104276,7 +104337,7 @@ function requireEcharts() {
       }
       function containPath2(path2, lineWidth, isStroke, x, y) {
         var data = path2.data;
-        var len3 = path2.len();
+        var len2 = path2.len();
         var w = 0;
         var xi = 0;
         var yi = 0;
@@ -104284,7 +104345,7 @@ function requireEcharts() {
         var y0 = 0;
         var x1;
         var y1;
-        for (var i3 = 0; i3 < len3; ) {
+        for (var i3 = 0; i3 < len2; ) {
           var cmd = data[i3++];
           var isFirst = i3 === 1;
           if (cmd === CMD$12.M && i3 > 1) {
@@ -106119,7 +106180,7 @@ function requireEcharts() {
           return;
         }
         var data = path2.data;
-        var len3 = path2.len();
+        var len2 = path2.len();
         var cmd;
         var nPoint;
         var i3;
@@ -106132,7 +106193,7 @@ function requireEcharts() {
         var R = CMD$22.R;
         var A = CMD$22.A;
         var Q = CMD$22.Q;
-        for (i3 = 0, j = 0; i3 < len3; ) {
+        for (i3 = 0, j = 0; i3 < len2; ) {
           cmd = data[i3++];
           j = i3;
           nPoint = 0;
@@ -106269,7 +106330,7 @@ function requireEcharts() {
             var fs = void 0;
             var x1 = cpx;
             var y1 = cpy;
-            var len3 = void 0;
+            var len2 = void 0;
             var pathData = void 0;
             switch (cmdStr) {
               case "l":
@@ -106337,11 +106398,11 @@ function requireEcharts() {
               case "S":
                 ctlPtx = cpx;
                 ctlPty = cpy;
-                len3 = path2.len();
+                len2 = path2.len();
                 pathData = path2.data;
                 if (prevCmd === CMD3.C) {
-                  ctlPtx += cpx - pathData[len3 - 4];
-                  ctlPty += cpy - pathData[len3 - 3];
+                  ctlPtx += cpx - pathData[len2 - 4];
+                  ctlPty += cpy - pathData[len2 - 3];
                 }
                 cmd = CMD3.C;
                 x1 = p[off2++];
@@ -106353,11 +106414,11 @@ function requireEcharts() {
               case "s":
                 ctlPtx = cpx;
                 ctlPty = cpy;
-                len3 = path2.len();
+                len2 = path2.len();
                 pathData = path2.data;
                 if (prevCmd === CMD3.C) {
-                  ctlPtx += cpx - pathData[len3 - 4];
-                  ctlPty += cpy - pathData[len3 - 3];
+                  ctlPtx += cpx - pathData[len2 - 4];
+                  ctlPty += cpy - pathData[len2 - 3];
                 }
                 cmd = CMD3.C;
                 x1 = cpx + p[off2++];
@@ -106385,11 +106446,11 @@ function requireEcharts() {
               case "T":
                 ctlPtx = cpx;
                 ctlPty = cpy;
-                len3 = path2.len();
+                len2 = path2.len();
                 pathData = path2.data;
                 if (prevCmd === CMD3.Q) {
-                  ctlPtx += cpx - pathData[len3 - 4];
-                  ctlPty += cpy - pathData[len3 - 3];
+                  ctlPtx += cpx - pathData[len2 - 4];
+                  ctlPty += cpy - pathData[len2 - 3];
                 }
                 cpx = p[off2++];
                 cpy = p[off2++];
@@ -106399,11 +106460,11 @@ function requireEcharts() {
               case "t":
                 ctlPtx = cpx;
                 ctlPty = cpy;
-                len3 = path2.len();
+                len2 = path2.len();
                 pathData = path2.data;
                 if (prevCmd === CMD3.Q) {
-                  ctlPtx += cpx - pathData[len3 - 4];
-                  ctlPty += cpy - pathData[len3 - 3];
+                  ctlPtx += cpx - pathData[len2 - 4];
+                  ctlPty += cpy - pathData[len2 - 3];
                 }
                 cpx += p[off2++];
                 cpy += p[off2++];
@@ -106499,8 +106560,8 @@ function requireEcharts() {
       }
       function mergePath2(pathEls, opts) {
         var pathList = [];
-        var len3 = pathEls.length;
-        for (var i3 = 0; i3 < len3; i3++) {
+        var len2 = pathEls.length;
+        for (var i3 = 0; i3 < len2; i3++) {
           var pathEl = pathEls[i3];
           pathList.push(pathEl.getUpdatedPathProxy(true));
         }
@@ -106663,15 +106724,15 @@ function requireEcharts() {
       function normalizeCornerRadius(cr) {
         var arr;
         if (isArray2(cr)) {
-          var len3 = cr.length;
-          if (!len3) {
+          var len2 = cr.length;
+          if (!len2) {
             return cr;
           }
-          if (len3 === 1) {
+          if (len2 === 1) {
             arr = [cr[0], cr[0], 0, 0];
-          } else if (len3 === 2) {
+          } else if (len2 === 2) {
             arr = [cr[0], cr[0], cr[1], cr[1]];
-          } else if (len3 === 3) {
+          } else if (len2 === 3) {
             arr = cr.concat(cr[2]);
           } else {
             arr = cr;
@@ -106878,25 +106939,25 @@ function requireEcharts() {
         var v22 = [];
         var prevPoint;
         var nextPoint;
-        var min$13;
-        var max$13;
+        var min$12;
+        var max$12;
         if (constraint) {
-          min$13 = [Infinity, Infinity];
-          max$13 = [-Infinity, -Infinity];
-          for (var i3 = 0, len3 = points3.length; i3 < len3; i3++) {
-            min3(min$13, min$13, points3[i3]);
-            max3(max$13, max$13, points3[i3]);
+          min$12 = [Infinity, Infinity];
+          max$12 = [-Infinity, -Infinity];
+          for (var i3 = 0, len2 = points3.length; i3 < len2; i3++) {
+            min3(min$12, min$12, points3[i3]);
+            max3(max$12, max$12, points3[i3]);
           }
-          min3(min$13, min$13, constraint[0]);
-          max3(max$13, max$13, constraint[1]);
+          min3(min$12, min$12, constraint[0]);
+          max3(max$12, max$12, constraint[1]);
         }
-        for (var i3 = 0, len3 = points3.length; i3 < len3; i3++) {
+        for (var i3 = 0, len2 = points3.length; i3 < len2; i3++) {
           var point = points3[i3];
           if (isLoop) {
-            prevPoint = points3[i3 ? i3 - 1 : len3 - 1];
-            nextPoint = points3[(i3 + 1) % len3];
+            prevPoint = points3[i3 ? i3 - 1 : len2 - 1];
+            nextPoint = points3[(i3 + 1) % len2];
           } else {
-            if (i3 === 0 || i3 === len3 - 1) {
+            if (i3 === 0 || i3 === len2 - 1) {
               cps.push(clone$12(points3[i3]));
               continue;
             } else {
@@ -106904,24 +106965,24 @@ function requireEcharts() {
               nextPoint = points3[i3 + 1];
             }
           }
-          sub2(v, nextPoint, prevPoint);
-          scale2(v, v, smooth);
-          var d0 = distance2(point, prevPoint);
-          var d1 = distance2(point, nextPoint);
+          sub(v, nextPoint, prevPoint);
+          scale(v, v, smooth);
+          var d0 = distance(point, prevPoint);
+          var d1 = distance(point, nextPoint);
           var sum2 = d0 + d1;
           if (sum2 !== 0) {
             d0 /= sum2;
             d1 /= sum2;
           }
-          scale2(v12, v, -d0);
-          scale2(v22, v, d1);
-          var cp0 = add2([], point, v12);
-          var cp1 = add2([], point, v22);
+          scale(v12, v, -d0);
+          scale(v22, v, d1);
+          var cp0 = add([], point, v12);
+          var cp1 = add([], point, v22);
           if (constraint) {
-            max3(cp0, cp0, min$13);
-            min3(cp0, cp0, max$13);
-            max3(cp1, cp1, min$13);
-            min3(cp1, cp1, max$13);
+            max3(cp0, cp0, min$12);
+            min3(cp0, cp0, max$12);
+            max3(cp1, cp1, min$12);
+            min3(cp1, cp1, max$12);
           }
           cps.push(cp0);
... 73166 lines suppressed ...


(servicecomb-fence) 01/04: rename to system management

Posted by li...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

liubao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/servicecomb-fence.git

commit f3e541fc39ffd4a97f30b8e8768726f7bf7aa619
Author: liubao <bi...@qq.com>
AuthorDate: Mon Aug 19 11:12:25 2024 +0800

    rename to system management
---
 admin-website/src/main/web/src/components/menu/index.vue |  6 +++---
 admin-website/src/main/web/src/locale/en-US.ts           |  8 ++++----
 admin-website/src/main/web/src/locale/zh-CN.ts           |  8 ++++----
 admin-website/src/main/web/src/router/index.ts           |  2 +-
 .../router/routes/modules/{kanban.ts => management.ts}   | 16 ++++++++--------
 .../{board => management}/home/components/curve.vue      |  0
 .../{board => management}/home/components/falls.vue      |  0
 .../views/{board => management}/home/components/main.vue |  0
 .../{board => management}/home/components/region.vue     |  0
 .../home/components/regiontable.vue                      |  0
 .../{board => management}/home/components/round.vue      |  0
 .../{board => management}/home/components/roundtable.vue |  0
 .../web/src/views/{board => management}/home/index.vue   |  2 +-
 .../main/web/src/views/{board => management}/index.vue   |  0
 .../web/src/views/{board => management}/locale/en-US.ts  |  0
 .../web/src/views/{board => management}/locale/zh-CN.ts  |  0
 16 files changed, 21 insertions(+), 21 deletions(-)

diff --git a/admin-website/src/main/web/src/components/menu/index.vue b/admin-website/src/main/web/src/components/menu/index.vue
index 825c888..1588659 100644
--- a/admin-website/src/main/web/src/components/menu/index.vue
+++ b/admin-website/src/main/web/src/components/menu/index.vue
@@ -51,14 +51,14 @@
   const expandeArr = ref();
   const routerTitle = [
     {
-      value: 'Board',
-      name: 'menu.board',
+      value: 'Management',
+      name: 'menu.management',
       icon: iconApplication,
       bold: 'main-title',
     },
     {
       value: 'Home',
-      name: 'menu.home',
+      name: 'menu.management.home',
       icon: null,
       bold: 'title',
     },
diff --git a/admin-website/src/main/web/src/locale/en-US.ts b/admin-website/src/main/web/src/locale/en-US.ts
index ff87ae6..6835b4f 100644
--- a/admin-website/src/main/web/src/locale/en-US.ts
+++ b/admin-website/src/main/web/src/locale/en-US.ts
@@ -4,7 +4,7 @@ import localeTheme from '@/components/theme/locale/en-US';
 import localeUserInfo from '@/views/user/info/locale/en-US';
 import localeUserSetting from '@/views/user/setting/locale/en-US';
 
-import localeKanban from '@/views/board/locale/en-US';
+import localeManagement from '@/views/management/locale/en-US';
 
 import localeProblems from '@/views/maintenance/problems/locale/en-US';
 
@@ -13,8 +13,8 @@ import localeSettings from './en-US/settings';
 import localeHttpError from './en-US/httpError';
 
 export default {
-  'menu.board': 'Dashboard Page',
-  'menu.home': 'Monitoring page',
+  'menu.management': 'System Management',
+  'menu.management.home': 'Service Discovery and Registration',
   'menu.visualization': 'Data Visualization',
   'menu.user': 'User Center',
   'navbar.docs': 'Docs',
@@ -29,7 +29,7 @@ export default {
   ...localeLogin,
   ...localeUserInfo,
   ...localeUserSetting,
-  ...localeKanban,
+  ...localeManagement,
   ...localeProblems,
   ...localeHttpError,
 };
diff --git a/admin-website/src/main/web/src/locale/zh-CN.ts b/admin-website/src/main/web/src/locale/zh-CN.ts
index 0555edc..59305e4 100644
--- a/admin-website/src/main/web/src/locale/zh-CN.ts
+++ b/admin-website/src/main/web/src/locale/zh-CN.ts
@@ -4,7 +4,7 @@ import localeTheme from '@/components/theme/locale/zh-CN';
 import localeUserInfo from '@/views/user/info/locale/zh-CN';
 import localeUserSetting from '@/views/user/setting/locale/zh-CN';
 
-import localeKanban from '@/views/board/locale/zh-CN';
+import localeManagement from '@/views/management/locale/zh-CN';
 
 import localeProblems from '@/views/maintenance/problems/locale/zh-CN';
 
@@ -13,8 +13,8 @@ import localeSettings from './zh-CN/settings';
 import localeHttpError from './zh-CN/httpError';
 
 export default {
-  'menu.board': '看板',
-  'menu.home': '监控页',
+  'menu.management': '服务管理',
+  'menu.management.home': '注册发现',
   'menu.visualization': '数据可视化',
   'menu.user': '个人中心',
   'navbar.docs': '文档中心',
@@ -29,7 +29,7 @@ export default {
   ...localeLogin,
   ...localeUserInfo,
   ...localeUserSetting,
-  ...localeKanban,
+  ...localeManagement,
   ...localeProblems,
   ...localeHttpError,
 };
diff --git a/admin-website/src/main/web/src/router/index.ts b/admin-website/src/main/web/src/router/index.ts
index 728612d..445ba42 100644
--- a/admin-website/src/main/web/src/router/index.ts
+++ b/admin-website/src/main/web/src/router/index.ts
@@ -17,7 +17,7 @@ const router = createRouter({
     },
     {
       path: '/' + import.meta.env.VITE_CONTEXT,
-      redirect: `${import.meta.env.VITE_CONTEXT}board/home`,
+      redirect: `${import.meta.env.VITE_CONTEXT}management/home`,
     },
     // 线上地址
     {
diff --git a/admin-website/src/main/web/src/router/routes/modules/kanban.ts b/admin-website/src/main/web/src/router/routes/modules/management.ts
similarity index 54%
rename from admin-website/src/main/web/src/router/routes/modules/kanban.ts
rename to admin-website/src/main/web/src/router/routes/modules/management.ts
index b577eec..c87987d 100644
--- a/admin-website/src/main/web/src/router/routes/modules/kanban.ts
+++ b/admin-website/src/main/web/src/router/routes/modules/management.ts
@@ -1,13 +1,13 @@
 import { RoleType } from '@/types/roleType';
 
 export default {
-  path: 'board',
-  name: 'Board',
-  id: 'Board',
-  label: 'Board',
-  component: () => import('@/views/board/index.vue'),
+  path: 'management',
+  name: 'Management',
+  id: 'Management',
+  label: 'Management',
+  component: () => import('@/views/management/index.vue'),
   meta: {
-    locale: 'menu.board',
+    locale: 'menu.management',
     requiresAuth: true,
     order: 1,
     roles: [RoleType.admin],
@@ -18,9 +18,9 @@ export default {
       name: 'Home',
       id: 'Home',
       label: 'Home',
-      component: () => import('@/views/board/home/index.vue'),
+      component: () => import('@/views/management/home/index.vue'),
       meta: {
-        locale: 'menu.board.home',
+        locale: 'menu.management.home',
         requiresAuth: true,
         roles: [RoleType.admin],
       },
diff --git a/admin-website/src/main/web/src/views/board/home/components/curve.vue b/admin-website/src/main/web/src/views/management/home/components/curve.vue
similarity index 100%
rename from admin-website/src/main/web/src/views/board/home/components/curve.vue
rename to admin-website/src/main/web/src/views/management/home/components/curve.vue
diff --git a/admin-website/src/main/web/src/views/board/home/components/falls.vue b/admin-website/src/main/web/src/views/management/home/components/falls.vue
similarity index 100%
rename from admin-website/src/main/web/src/views/board/home/components/falls.vue
rename to admin-website/src/main/web/src/views/management/home/components/falls.vue
diff --git a/admin-website/src/main/web/src/views/board/home/components/main.vue b/admin-website/src/main/web/src/views/management/home/components/main.vue
similarity index 100%
rename from admin-website/src/main/web/src/views/board/home/components/main.vue
rename to admin-website/src/main/web/src/views/management/home/components/main.vue
diff --git a/admin-website/src/main/web/src/views/board/home/components/region.vue b/admin-website/src/main/web/src/views/management/home/components/region.vue
similarity index 100%
rename from admin-website/src/main/web/src/views/board/home/components/region.vue
rename to admin-website/src/main/web/src/views/management/home/components/region.vue
diff --git a/admin-website/src/main/web/src/views/board/home/components/regiontable.vue b/admin-website/src/main/web/src/views/management/home/components/regiontable.vue
similarity index 100%
rename from admin-website/src/main/web/src/views/board/home/components/regiontable.vue
rename to admin-website/src/main/web/src/views/management/home/components/regiontable.vue
diff --git a/admin-website/src/main/web/src/views/board/home/components/round.vue b/admin-website/src/main/web/src/views/management/home/components/round.vue
similarity index 100%
rename from admin-website/src/main/web/src/views/board/home/components/round.vue
rename to admin-website/src/main/web/src/views/management/home/components/round.vue
diff --git a/admin-website/src/main/web/src/views/board/home/components/roundtable.vue b/admin-website/src/main/web/src/views/management/home/components/roundtable.vue
similarity index 100%
rename from admin-website/src/main/web/src/views/board/home/components/roundtable.vue
rename to admin-website/src/main/web/src/views/management/home/components/roundtable.vue
diff --git a/admin-website/src/main/web/src/views/board/home/index.vue b/admin-website/src/main/web/src/views/management/home/index.vue
similarity index 91%
rename from admin-website/src/main/web/src/views/board/home/index.vue
rename to admin-website/src/main/web/src/views/management/home/index.vue
index 33e8e26..da96e73 100644
--- a/admin-website/src/main/web/src/views/board/home/index.vue
+++ b/admin-website/src/main/web/src/views/management/home/index.vue
@@ -1,6 +1,6 @@
 <template>
   <div class="container">
-    <Breadcrumb :items="['menu.board', 'menu.home']" />
+    <Breadcrumb :items="['menu.management', 'menu.management.home']" />
     <div class="contain">
       <Main></Main>
       <Curve></Curve>
diff --git a/admin-website/src/main/web/src/views/board/index.vue b/admin-website/src/main/web/src/views/management/index.vue
similarity index 100%
rename from admin-website/src/main/web/src/views/board/index.vue
rename to admin-website/src/main/web/src/views/management/index.vue
diff --git a/admin-website/src/main/web/src/views/board/locale/en-US.ts b/admin-website/src/main/web/src/views/management/locale/en-US.ts
similarity index 100%
rename from admin-website/src/main/web/src/views/board/locale/en-US.ts
rename to admin-website/src/main/web/src/views/management/locale/en-US.ts
diff --git a/admin-website/src/main/web/src/views/board/locale/zh-CN.ts b/admin-website/src/main/web/src/views/management/locale/zh-CN.ts
similarity index 100%
rename from admin-website/src/main/web/src/views/board/locale/zh-CN.ts
rename to admin-website/src/main/web/src/views/management/locale/zh-CN.ts


(servicecomb-fence) 02/04: add service management page

Posted by li...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

liubao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/servicecomb-fence.git

commit 702cbcaa1e28e0a9ee82fdaa5c0adec028a851c4
Author: liubao <bi...@qq.com>
AuthorDate: Mon Aug 19 17:45:31 2024 +0800

    add service management page
---
 .../problems/components/call-chain-list.vue        |  10 +-
 .../src/views/management/home/components/curve.vue | 256 ---------------------
 .../src/views/management/home/components/falls.vue | 222 ------------------
 .../src/views/management/home/components/main.vue  | 202 ----------------
 .../views/management/home/components/region.vue    | 168 --------------
 .../management/home/components/regiontable.vue     | 125 ----------
 .../src/views/management/home/components/round.vue | 129 -----------
 .../management/home/components/roundtable.vue      | 137 -----------
 .../views/management/home/components/service.vue   | 182 +++++++++++++++
 .../main/web/src/views/management/home/index.vue   |  14 +-
 10 files changed, 188 insertions(+), 1257 deletions(-)

diff --git a/admin-website/src/main/web/src/views/maintenance/problems/components/call-chain-list.vue b/admin-website/src/main/web/src/views/maintenance/problems/components/call-chain-list.vue
index e359123..5eeebcb 100644
--- a/admin-website/src/main/web/src/views/maintenance/problems/components/call-chain-list.vue
+++ b/admin-website/src/main/web/src/views/maintenance/problems/components/call-chain-list.vue
@@ -46,13 +46,9 @@
     <tiny-grid-column title="操作" width="150">
       <template #default="data">
         <div>
-          <span 
-          class="list-operation"
-         @click="downloadLog(data.row.serviceName, data.row.instanceId)">查看日志</span>&nbsp;|&nbsp;
-         <span
-          class="list-operation"
-           @click="downloadMetrics(data.row.serviceName, data.row.instanceId)"
-          >查看Metrics</span>
+          <span class="list-operation" @click="downloadLog(data.row.serviceName, data.row.instanceId)">下载日志</span>
+          &nbsp;|&nbsp;
+          <span class="list-operation" @click="downloadMetrics(data.row.serviceName, data.row.instanceId)">下载指标</span>
         </div>
       </template>
     </tiny-grid-column>
diff --git a/admin-website/src/main/web/src/views/management/home/components/curve.vue b/admin-website/src/main/web/src/views/management/home/components/curve.vue
deleted file mode 100644
index 1751096..0000000
--- a/admin-website/src/main/web/src/views/management/home/components/curve.vue
+++ /dev/null
@@ -1,256 +0,0 @@
-<template>
-  <div class="curve">
-    <img src="@/assets/images/map-background3.png" class="image" />
-    <h3>{{ $t('home.curve.trend') }}</h3>
-    <div id="line" ref="echartsDom"></div>
-  </div>
-</template>
-
-<script lang="ts" setup>
-  import { onMounted, watch, inject, ref, nextTick } from 'vue';
-  import { useI18n } from 'vue-i18n';
-  import useLocale from '@/hooks/locale';
-
-  const { t } = useI18n();
-  const { currentLocale } = useLocale();
-  let echarts = inject<any>('echarts');
-  const echartsDom = ref();
-
-  let option = {
-    tooltip: {
-      trigger: 'axis',
-      axisPointer: {
-        type: 'cross',
-        crossStyle: {
-          color: '#999',
-        },
-      },
-    },
-    legend: {
-      data: [t('home.main.down'), t('home.curve.play'), t('home.curve.page')],
-      top: '10',
-    },
-    dataZoom: [
-      {
-        type: 'inside',
-        start: 10,
-      },
-      {
-        type: 'slider',
-      },
-    ],
-    xAxis: [
-      {
-        type: 'category',
-        data: new Array(20).fill('16:00'),
-        axisPointer: {
-          type: 'shadow',
-        },
-        axisLabel: {
-          // eslint-disable-line
-          formatter(value: any, index: any) {
-            if (index % 2 !== 0) {
-              return value;
-            }
-            return value;
-          },
-        },
-      },
-    ],
-    yAxis: [
-      {
-        type: 'value',
-        min: 0,
-        max: 50,
-        interval: 5,
-        axisLabel: {
-          formatter: '{value} s',
-        },
-      },
-      {
-        type: 'value',
-        min: 0,
-        max: 30,
-        interval: 5,
-        axisLabel: {
-          formatter: '{value}',
-        },
-      },
-    ],
-    series: [
-      {
-        name: t('home.main.down'),
-        type: 'bar',
-        barWidth: 12,
-        itemStyle: {
-          color: '#4e85f4',
-          barBorderRadius: [5, 5, 0, 0],
-        },
-        tooltip: {
-          valueFormatter(value: any) {
-            return `${value} s`;
-          },
-        },
-        data: [
-          22, 4.9, 7.0, 23.2, 25.6, 16.7, 15.6, 22.2, 12.6, 22.0, 6.4, 33.3, 22,
-          4.9, 7.0, 23.2, 25.6, 16.7, 15.6, 22.2, 12.6, 22.0, 6.4, 33.3, 22,
-          4.9, 7.0, 23.2, 25.6, 16.7, 15.6, 22.2, 12.6, 22.0, 6.4, 33.3,
-        ],
-      },
-      {
-        name: t('home.curve.play'),
-        type: 'line',
-        smooth: true,
-        showSymbol: false,
-        yAxisIndex: 1,
-        lineStyle: {
-          normal: {
-            color: '#5f45ff',
-          },
-        },
-        // 区域填充样式
-        areaStyle: {
-          color: {
-            type: 'linear',
-            x: 0,
-            y: 0,
-            x2: 0,
-            y2: 1,
-            colorStops: [
-              {
-                offset: 0,
-                color: 'rgba(163, 156, 211,0.2)',
-              },
-              {
-                offset: 1,
-                color: 'rgba(58,132,255, 0)',
-              },
-            ],
-            global: false,
-          },
-        },
-        tooltip: {
-          valueFormatter(value: any) {
-            return value;
-          },
-        },
-        data: [
-          22, 4.9, 7.0, 23.2, 25.6, 16.7, 15.6, 22.2, 12.6, 22.0, 6.4, 3.3, 22,
-          4.9, 7.0, 23.2, 25.6, 16.7, 15.6, 22.2, 12.6, 22.0, 6.4, 3.3, 22, 4.9,
-          7.0, 23.2, 25.6, 16.7, 15.6, 22.2, 12.6, 22.0, 6.4, 33.3,
-        ],
-      },
-      {
-        name: t('home.curve.page'),
-        type: 'line',
-        smooth: true,
-        showSymbol: false,
-        yAxisIndex: 1,
-        lineStyle: {
-          normal: {
-            color: '#ff9e03',
-          },
-        },
-        areaStyle: {
-          color: {
-            type: 'linear',
-            x: 0,
-            y: 0,
-            x2: 0,
-            y2: 1,
-            colorStops: [
-              {
-                offset: 0,
-                color: 'rgba(226, 210, 66,0.2)',
-              },
-              {
-                offset: 1,
-                color: 'rgba(58,132,255, 0)',
-              },
-            ],
-            global: false,
-          },
-        },
-        tooltip: {
-          valueFormatter(value: any) {
-            return value;
-          },
-        },
-        data: [
-          22, 9, 17.0, 27.2, 15.6, 26.7, 25.6, 22.2, 12.6, 22.0, 26.4, 13.3, 22,
-          24.9, 12.0, 23.2, 25.6, 26.7, 25.6, 22.2, 22.6, 22.0, 26.4, 23.3, 22,
-          24, 27.0, 13.2, 15.6, 16.7, 11.6, 22.2, 22.6, 32.0, 16.4, 13.3,
-        ],
-      },
-    ],
-  };
-
-  onMounted(() => {
-    const chartDom = echartsDom.value;
-    const myChart = echarts.init(chartDom as any);
-    option && myChart.setOption(option);
-    window.addEventListener('resize', () => {
-      myChart.resize();
-    });
-    nextTick(() => {
-      myChart.resize()
-    });
-  });
-
-  watch(currentLocale, (newValue, oldValue) => {
-    const chartDom = echartsDom.value;
-    const myChart = echarts.init(chartDom as any);
-    if (newValue === 'zhCN') {
-      option.legend.data = ['采样PV', '首屏可见', '页面Onload'];
-      option.series[0].name = '采样PV';
-      option.series[1].name = '首屏可见';
-      option.series[2].name = '页面Onload';
-    } else {
-      option.legend.data = [
-        'Sampling PV',
-        'Visible on the first screen',
-        'Page Onload',
-      ];
-      option.series[0].name = 'Sampling PV';
-      option.series[1].name = 'Visible on the first screen';
-      option.series[2].name = 'Page Onload';
-    }
-    myChart.setOption(option);
-  });
-</script>
-
-<style scoped lang="less">
-  .curve {
-    width: 100%;
-    height: 491px;
-    margin-top: 2%;
-    background: #fff;
-    border-radius: 6px;
-    box-shadow: 0 3px 10px 0 rgb(64 98 225 / 20%);
-  }
-
-  #line {
-    width: 100%;
-    height: inherit;
-  }
-
-  .image {
-    float: left;
-    width: 25px;
-    margin-top: 0.5%;
-    margin-left: 0.5%;
-    background-color: #a125ff;
-    border-radius: 4px;
-    opacity: 0.6;
-  }
-
-  h3 {
-    float: left;
-    width: 200px;
-    margin-top: 0.4%;
-    margin-left: 0.5%;
-    color: #524343;
-    font-weight: 700;
-    font-size: 18px;
-  }
-</style>
diff --git a/admin-website/src/main/web/src/views/management/home/components/falls.vue b/admin-website/src/main/web/src/views/management/home/components/falls.vue
deleted file mode 100644
index 8d0c81e..0000000
--- a/admin-website/src/main/web/src/views/management/home/components/falls.vue
+++ /dev/null
@@ -1,222 +0,0 @@
-<template>
-  <div class="falls">
-    <img src="@/assets/images/map-background2.png" class="image" />
-    <h3>{{ $t('home.falls.line') }}</h3>
-    <div id="flow" ref="echartsDom"></div>
-  </div>
-</template>
-
-<script lang="ts" setup>
-  import { onMounted, watch, inject, ref, nextTick } from 'vue';
-  import { useI18n } from 'vue-i18n';
-  import useLocale from '@/hooks/locale';
-
-  const { t } = useI18n();
-  const { currentLocale } = useLocale();
-  let echarts = inject<any>('echarts');
-  const echartsDom = ref();
-
-  const list = [
-    {
-      label: 'Dns',
-      value: 'Dns',
-    },
-    {
-      label: t('home.falls.tcp'),
-      value: 'TCP',
-    },
-    {
-      label: t('home.falls.ssl'),
-      value: 'SSL',
-    },
-    {
-      label: 'Dns',
-      value: 'Dns',
-    },
-    {
-      label: t('home.falls.tcp'),
-      value: 'TCP',
-    },
-    {
-      label: t('home.falls.ssl'),
-      value: 'SSL',
-    },
-    {
-      label: 'Dns',
-      value: 'Dns',
-    },
-    {
-      label: t('home.falls.tcp'),
-      value: 'TCP',
-    },
-    {
-      label: t('home.falls.ssl'),
-      value: 'SSL',
-    },
-    {
-      label: 'Dns',
-      value: 'Dns',
-    },
-    {
-      label: t('home.falls.tcp'),
-      value: 'TCP',
-    },
-    {
-      label: t('home.falls.ssl'),
-      value: 'SSL',
-    },
-  ];
-
-  let option = {
-    tooltip: {
-      trigger: 'axis',
-      axisPointer: {
-        type: 'shadow',
-      },
-      formatter(params: any) {
-        let tar;
-        if (params[1].value !== '-') {
-          // eslint-disable-next-line prefer-destructuring
-          tar = params[1];
-        } else {
-          // eslint-disable-next-line prefer-destructuring
-          tar = params[0];
-        }
-        // eslint-disable-next-line prefer-template
-        return tar.name + '<br/>' + tar.seriesName + ' : ' + tar.value;
-      },
-    },
-    grid: {
-      left: '3%',
-      right: '4%',
-      bottom: '3%',
-      containLabel: true,
-    },
-    xAxis: {
-      type: 'value',
-      show: false,
-    },
-    yAxis: {
-      type: 'category',
-      axisLabel: {
-        formatter(value: any, index: any) {
-          return (
-            // eslint-disable-next-line prefer-template
-            list[index]?.label + '  ' + list[index]?.value + '  ' + value + 's'
-          );
-        },
-        margin: 20,
-      },
-    },
-    series: [
-      {
-        name: 'Placeholder',
-        type: 'bar',
-        stack: 'Total',
-        itemStyle: {
-          borderColor: 'transparent',
-          color: 'transparent',
-        },
-        emphasis: {
-          itemStyle: {
-            borderColor: 'transparent',
-            color: 'transparent',
-          },
-        },
-        data: [0, 900, 405, 250, 136, 236, 651, 169, 156, 195, 192],
-      },
-      {
-        name: 'Income',
-        type: 'bar',
-        stack: 'Total',
-        itemStyle: {
-          color: '#4e85f4',
-          barBorderRadius: [2, 2, 2, 2],
-        },
-        label: {
-          show: false,
-        },
-        data: [500, '-', 593, '-', '-', 135, 178, 286, '-', '-', '-'],
-      },
-      {
-        name: 'Expenses',
-        type: 'bar',
-        stack: 'Total',
-        itemStyle: {
-          color: '#5f45ff',
-          barBorderRadius: [5, 5, 5, 5],
-        },
-        label: {
-          show: false,
-        },
-        data: ['-', '-', '-', 408, 154, '-', '-', '-', 119, 361, '-'],
-      },
-      {
-        name: 'test',
-        type: 'bar',
-        stack: 'Total',
-        itemStyle: {
-          color: '#e2b525 ',
-          barBorderRadius: [5, 5, 5, 5],
-        },
-        label: {
-          show: false,
-        },
-        data: ['-', 99, '-', '-', '-', '-', '-', '-', '-', '-', 32],
-      },
-    ],
-  };
-
-  onMounted(() => {
-    const chartDom = echartsDom.value;
-    const myChart = echarts.init(chartDom as any);
-    option && myChart.setOption(option);
-    window.addEventListener('resize', () => {
-      myChart.resize();
-    });
-    nextTick(() => {
-      myChart.resize()
-    });
-  });
-
-  watch(currentLocale, (newValue, oldValue) => {
-    const chartDom = echartsDom.value;
-    const myChart = echarts.init(chartDom as any);
-    myChart.setOption(option);
-  });
-</script>
-
-<style scoped lang="less">
-  .falls {
-    width: 100%;
-    height: 406px;
-    margin-top: 2%;
-    background: #fff;
-    border-radius: 6px;
-    box-shadow: 0 3px 10px 0 rgb(64 98 225 / 20%);
-  }
-
-  #flow {
-    width: 100%;
-    height: inherit;
-  }
-
-  .image {
-    float: left;
-    width: 25px;
-    margin-top: 0.5%;
-    margin-left: 0.5%;
-    border-radius: 4px;
-    opacity: 0.6;
-  }
-
-  h3 {
-    float: left;
-    width: 200px;
-    margin-top: 0.5%;
-    margin-left: 0.5%;
-    color: #524343;
-    font-weight: 700;
-    font-size: 18px;
-  }
-</style>
diff --git a/admin-website/src/main/web/src/views/management/home/components/main.vue b/admin-website/src/main/web/src/views/management/home/components/main.vue
deleted file mode 100644
index 7740b00..0000000
--- a/admin-website/src/main/web/src/views/management/home/components/main.vue
+++ /dev/null
@@ -1,202 +0,0 @@
-<template>
-  <div class="main">
-    <tiny-layout>
-      <tiny-row :flex="true" justify="center">
-        <tiny-col :span="4">
-          <div class="col">
-            <div class="img">
-              <img src="@/assets/images/home-main1.png" class="image" />
-            </div>
-            <div class="num">
-              <div class="up">
-                <span class="left">{{ $t('home.main.one') }}</span>
-                <span id="up" class="right">
-                  {{ $t('home.main.day') }}
-                  <img src="@/assets/images/home-up.png" class="image" />
-                  <span>0.88%</span>
-                </span>
-              </div>
-              <div class="down">
-                <span class="left">3.23</span>
-                <span class="right">&nbsp;/ S</span>
-              </div>
-            </div>
-          </div>
-        </tiny-col>
-        <tiny-col :span="4">
-          <div class="col">
-            <div class="img">
-              <img src="@/assets/images/home-main2.png" class="image" />
-            </div>
-            <div class="num">
-              <div class="up">
-                <span class="left">DOM Ready</span>
-                <span id="down" class="right">
-                  {{ $t('home.main.day') }}
-                  <img src="@/assets/images/home-down.png" class="image" />
-                  <span>0.88%</span>
-                </span>
-              </div>
-              <div class="down">
-                <span class="left">1.56</span>
-                <span class="right">&nbsp;/ S</span>
-              </div>
-            </div>
-          </div>
-        </tiny-col>
-        <tiny-col :span="4">
-          <div class="col">
-            <div class="img">
-              <img src="@/assets/images/home-mainup.png" class="image" />
-            </div>
-            <div class="num">
-              <div class="up">
-                <span class="left">{{ $t('home.main.up') }}</span>
-                <span id="up" class="right">
-                  {{ $t('home.main.day') }}
-                  <img src="@/assets/images/home-up.png" class="image" />
-                  <span>0.88%</span>
-                </span>
-              </div>
-              <div class="down">
-                <span class="left">3.69</span>
-                <span class="right">&nbsp;/ S</span>
-              </div>
-            </div>
-          </div>
-        </tiny-col>
-        <tiny-col :span="4">
-          <div class="col">
-            <div class="img">
-              <img src="@/assets/images/home-maindown.png" class="image" />
-            </div>
-            <div class="num">
-              <div class="up">
-                <span class="left">{{ $t('home.main.down') }}</span>
-                <span id="down" class="right">
-                  {{ $t('home.main.day') }}
-                  <img src="@/assets/images/home-down.png" class="image" />
-                  <span>0.88%</span>
-                </span>
-              </div>
-              <div class="down">
-                <span class="left">0.69</span>
-                <span class="right">&nbsp;/ S</span>
-              </div>
-            </div>
-          </div>
-        </tiny-col>
-      </tiny-row>
-    </tiny-layout>
-  </div>
-</template>
-
-<script lang="ts" setup>
-  import {
-    Layout as TinyLayout,
-    Row as TinyRow,
-    Col as TinyCol,
-  } from '@opentiny/vue';
-</script>
-
-<style scoped lang="less">
-  .main {
-    padding: 0;
-
-    .col {
-      display: flex;
-      justify-content: space-around;
-      min-width: 396px;
-      height: 150px;
-      background: #fff;
-      border-radius: 6px;
-      box-shadow: 0 3px 10px 0 rgb(64 98 225 / 20%);
-    }
-
-    .col:hover {
-      box-shadow: 0 3px 10px 0 rgb(64 98 225 / 45%);
-    }
-
-    .img {
-      display: flex;
-      align-items: center;
-    }
-
-    .num {
-      display: flex;
-      flex-direction: column;
-      justify-content: space-around;
-
-      #up {
-        span {
-          color: #f7961e;
-        }
-      }
-
-      #down {
-        span {
-          color: #3eb21f;
-        }
-      }
-
-      .up {
-        .left {
-          margin-left: -15%;
-          color: #35383e;
-          font-weight: 400;
-          font-size: 18px;
-          letter-spacing: 0.45px;
-          text-align: left;
-        }
-
-        .right {
-          margin-left: 15%;
-          color: #777;
-          font-size: 16px;
-          letter-spacing: 0.4px;
-          text-align: left;
-        }
-      }
-
-      .down {
-        margin-left: -30px;
-
-        .left {
-          width: 99px;
-          height: 36px;
-          color: #242424;
-          font-weight: 700;
-          font-size: 36px;
-          letter-spacing: 1.2px;
-          text-align: left;
-        }
-
-        .right {
-          width: 8px;
-          height: 14px;
-          color: #777;
-          font-weight: 400;
-          font-size: 16px;
-          letter-spacing: 0.4px;
-          text-align: left;
-        }
-      }
-    }
-  }
-
-  :deep(.tiny-col) {
-    padding: 0 11.5px;
-  }
-</style>
-
-<style lang="less" scoped>
-  @media (max-width: @screen-xg) {
-    .main {
-      display: none;
-    }
-
-    .col {
-      width: 300px;
-    }
-  }
-</style>
diff --git a/admin-website/src/main/web/src/views/management/home/components/region.vue b/admin-website/src/main/web/src/views/management/home/components/region.vue
deleted file mode 100644
index f5a6613..0000000
--- a/admin-website/src/main/web/src/views/management/home/components/region.vue
+++ /dev/null
@@ -1,168 +0,0 @@
-<template>
-  <div class="region">
-    <div>
-      <div class="region-title">
-        <img src="@/assets/images/map-background3.png" class="image" />
-        <h3>{{ $t('home.region.title') }}</h3>
-      </div>
-      <div id="earth" ref="echartsDom"></div>
-    </div>
-    <div class="region-from">
-      <RegionTable></RegionTable>
-    </div>
-  </div>
-</template>
-
-<script lang="ts" setup>
-  import { onMounted, inject, ref, nextTick } from 'vue';
-  import RegionTable from './regiontable.vue';
-
-  const data = [
-    { name: '北京', value: 350000 },
-    { name: '天津', value: 120000 },
-    { name: '上海', value: 300000 },
-    { name: '重庆', value: 92000 },
-    { name: '河北', value: 25000 },
-    { name: '河南', value: 20000 },
-    { name: '云南', value: 500 },
-    { name: '辽宁', value: 3050 },
-    { name: '黑龙江', value: 80000 },
-    { name: '湖南', value: 2000 },
-    { name: '安徽', value: 24580 },
-    { name: '山东', value: 40629 },
-    { name: '新疆', value: 36981 },
-    { name: '江苏', value: 13569 },
-    { name: '浙江', value: 24956 },
-    { name: '江西', value: 15194 },
-    { name: '湖北', value: 41398 },
-    { name: '广西', value: 41150 },
-    { name: '甘肃', value: 17630 },
-    { name: '山西', value: 27370 },
-    { name: '内蒙古', value: 27370 },
-    { name: '陕西', value: 97208 },
-    { name: '吉林', value: 88290 },
-    { name: '福建', value: 19978 },
-    { name: '贵州', value: 94485 },
-    { name: '广东', value: 89426 },
-    { name: '青海', value: 35484 },
-    { name: '西藏', value: 97413 },
-    { name: '四川', value: 54161 },
-    { name: '宁夏', value: 56515 },
-    { name: '海南', value: 54871 },
-    { name: '台湾', value: 48544 },
-    { name: '香港', value: 49474 },
-    { name: '澳门', value: 34594 },
-  ];
-
-  let echarts = inject<any>('echarts');
-  const echartsDom = ref();
-  let options = {
-    tooltip: {
-      trigger: 'item',
-    },
-    visualMap: {
-      show: true,
-      top: '-5px',
-      x: 'left',
-      y: 'bottom',
-      realtime: false,
-      splitList: [
-        { start: 5000, end: 500000 },
-        { start: 4000, end: 5000 },
-        { start: 3000, end: 4000 },
-        { start: 2000, end: 3000 },
-        { start: 1000, end: 2000 },
-        { start: 0, end: 1000 },
-      ],
-      color: ['#9feaa5', '#5475f5', '#85daef', '#74e2ca', '#e6ac53', '#9fb5ea'],
-    },
-
-    series: [
-      {
-        name: 'china',
-        type: 'map',
-        mapType: 'china',
-        roam: false,
-        zoom: 1.2,
-        top: '30px',
-        itemStyle: {
-          normal: {
-            areaColor: '#000',
-            borderColor: 'skyblue',
-            borderWidth: 1,
-            shadowColor: '#ccc',
-            shadowBlur: 30,
-            opacity: 1,
-          },
-        },
-        label: {
-          normal: {
-            show: true,
-            textStyle: {
-              fontSize: 5,
-            },
-          },
-        },
-        data,
-      },
-    ],
-  };
-
-  onMounted(() => {
-    const chartDom = echartsDom.value;
-    const myChart = echarts.init(chartDom as any);
-    window.addEventListener('resize', () => {
-      myChart.resize();
-    });
-    options && myChart.setOption(options);
-    nextTick(() => {
-      myChart.resize()
-    });
-  });
-</script>
-
-<style scoped lang="less">
-  .region {
-    display: flex;
-    justify-content: space-between;
-    margin-top: 2%;
-    background: #fff;
-    border-radius: 6px;
-    box-shadow: 0 3px 10px 0 rgb(64 98 225 / 20%);
-
-    .region-title {
-      display: flex;
-    }
-
-    h3 {
-      width: 300px;
-      margin-top: 1.5%;
-      margin-left: 10px;
-      color: #524343;
-      font-weight: 700;
-      font-size: 18px;
-    }
-  }
-
-  #earth {
-    width: 32vw;
-    height: 358px;
-    margin-left: 15%;
-  }
-
-  .image {
-    width: 25px;
-    height: 25px;
-    margin-top: 1.5%;
-    margin-left: 1.5%;
-    background: tomato;
-    border-radius: 4px;
-    opacity: 0.6;
-  }
-
-  .region-from {
-    width: 46vw;
-    margin-top: 2%;
-    margin-left: 5%;
-  }
-</style>
diff --git a/admin-website/src/main/web/src/views/management/home/components/regiontable.vue b/admin-website/src/main/web/src/views/management/home/components/regiontable.vue
deleted file mode 100644
index b72136c..0000000
--- a/admin-website/src/main/web/src/views/management/home/components/regiontable.vue
+++ /dev/null
@@ -1,125 +0,0 @@
-<template>
-  <div class="container">
-    <tiny-grid ref="grid" :fetch-data="fetchDataOption" :pager="pagerConfig">
-      <tiny-grid-column
-        field="id"
-        :title="$t('home.roundtable.index')"
-        width="200"
-      ></tiny-grid-column>
-      <tiny-grid-column
-        field="space"
-        :title="$t('home.region.title')"
-        width="260"
-      ></tiny-grid-column>
-      <tiny-grid-column
-        field="pv"
-        :title="$t('home.roundtable.pv')"
-        width="260"
-      ></tiny-grid-column>
-      <tiny-grid-column
-        field="page"
-        :title="$t('home.roundtable.page')"
-      ></tiny-grid-column>
-    </tiny-grid>
-  </div>
-</template>
-
-<script lang="ts" setup>
-  import { reactive } from 'vue';
-  import { useI18n } from 'vue-i18n';
-  import {
-    Pager,
-    Grid as TinyGrid,
-    GridColumn as TinyGridColumn,
-  } from '@opentiny/vue';
-
-  const { t } = useI18n();
-
-  const tableData = [
-    {
-      id: '1',
-      space: '上海',
-      pv: '1767(97.77%)',
-      page: '2.7s',
-    },
-    {
-      id: '2',
-      space: '香港',
-      pv: '22(1.77%)',
-      page: '1.1s',
-    },
-    {
-      id: '3',
-      space: '北京',
-      pv: '32(1.77%)',
-      page: '1.7s',
-    },
-    {
-      id: '4',
-      space: '广东',
-      pv: '32(1.77%)',
-      page: '1.7s',
-    },
-    {
-      id: '5',
-      space: '江苏',
-      pv: '16(0.88%)',
-      page: '3.12s',
-    },
-    {
-      id: '6',
-      space: '福建',
-      pv: '1765(97.35%)',
-      page: '1.7s',
-    },
-    {
-      id: '7',
-      space: '四川',
-      pv: '32(1.77%)',
-      page: '2.92s',
-    },
-  ];
-
-  const pagerConfig = reactive({
-    component: Pager,
-    attrs: {
-      currentPage: 1,
-      pageSize: 10,
-      pageSizes: [5, 10],
-      total: 0,
-      layout: 'total, prev, pager, next, jumper, sizes',
-    },
-  });
-
-  const fetchDataOption = reactive({
-    api: ({ page }: any) => {
-      const { currentPage, pageSize } = page;
-
-      return fetchData({
-        pageIndex: currentPage,
-        pageSize,
-      });
-    },
-  });
-
-  // 请求数据接口方法
-  async function fetchData(
-    params = {
-      pageIndex: 1,
-      pageSize: 10,
-    }
-  ) {
-    let offset = (params.pageIndex - 1) * params.pageSize;
-    const total = tableData.length;
-    return {
-      result: tableData.slice(offset, offset + params.pageSize),
-      page: { total },
-    };
-  }
-</script>
-
-<style scoped lang="less">
-  .container {
-    width: inherit;
-  }
-</style>
diff --git a/admin-website/src/main/web/src/views/management/home/components/round.vue b/admin-website/src/main/web/src/views/management/home/components/round.vue
deleted file mode 100644
index 6d5935d..0000000
--- a/admin-website/src/main/web/src/views/management/home/components/round.vue
+++ /dev/null
@@ -1,129 +0,0 @@
-<template>
-  <div class="round">
-    <div>
-      <img src="@/assets/images/map-background3.png" class="image" />
-      <h3>{{ $t('home.round.title') }}</h3>
-      <div id="circled" ref="echartsDom"></div>
-    </div>
-    <div class="round-from">
-      <RoundTable></RoundTable>
-    </div>
-  </div>
-</template>
-
-<script lang="ts" setup>
-  import { onMounted, watch, inject, ref, nextTick } from 'vue';
-  import { useI18n } from 'vue-i18n';
-  import useLocale from '@/hooks/locale';
-  import RoundTable from './roundtable.vue';
-
-  const { t } = useI18n();
-  const { currentLocale } = useLocale();
-  let echarts = inject<any>('echarts');
-  const echartsDom = ref();
-
-  let option = {
-    tooltip: {
-      trigger: 'item',
-    },
-    legend: {
-      orient: 'vertical',
-      y: 'center',
-      x: 'right',
-    },
-    series: [
-      {
-        type: 'pie',
-        selectedMode: 'single',
-        radius: ['60%', '80%'],
-        itemStyle: {
-          borderRadius: 10,
-          borderColor: '#fff',
-          borderWidth: 2,
-        },
-        avoidLabelOverlap: true,
-        label: {
-          show: false,
-          position: 'center',
-        },
-        width: '100%',
-        emphasis: {
-          label: {
-            show: true,
-            fontSize: '40',
-            fontWeight: 'bold',
-          },
-        },
-        labelLine: {
-          show: false,
-        },
-        data: [
-          { value: 300, name: '5G' },
-          { value: 1048, name: '4G' },
-          { value: 735, name: 'unknow' },
-          { value: 580, name: '3G' },
-        ],
-      },
-    ],
-  };
-
-  onMounted(() => {
-    const chartDom = echartsDom.value;
-    const myChart = echarts.init(chartDom as any);
-    option && myChart.setOption(option);
-    window.addEventListener('resize', () => {
-      myChart.resize();
-    });
-    nextTick(() => {
-      myChart.resize()
-    });
-  });
-
-  watch(currentLocale, (newValue, oldValue) => {
-    const chartDom = echartsDom.value;
-    const myChart = echarts.init(chartDom as any);
-    myChart.setOption(option);
-  });
-</script>
-
-<style scoped lang="less">
-  .round {
-    display: flex;
-    justify-content: space-between;
-    margin-top: 2%;
-    background: #fff;
-    border-radius: 6px;
-    box-shadow: 0 3px 10px 0 rgb(64 98 225 / 20%);
-  }
-
-  #circled {
-    width: 32vw !important;
-    height: 350px;
-    margin-left: 2.3%;
-  }
-
-  .image {
-    float: left;
-    width: 25px;
-    margin-top: 1.5%;
-    margin-left: 1.5%;
-    border-radius: 4px;
-    opacity: 0.6;
-  }
-
-  .round-from {
-    width: 46vw;
-    margin-top: 2%;
-    margin-left: 5%;
-  }
-
-  h3 {
-    float: left;
-    width: 300px;
-    margin-top: 1.4%;
-    margin-left: 1.5%;
-    color: #524343;
-    font-weight: 700;
-    font-size: 18px;
-  }
-</style>
diff --git a/admin-website/src/main/web/src/views/management/home/components/roundtable.vue b/admin-website/src/main/web/src/views/management/home/components/roundtable.vue
deleted file mode 100644
index ea82b44..0000000
--- a/admin-website/src/main/web/src/views/management/home/components/roundtable.vue
+++ /dev/null
@@ -1,137 +0,0 @@
-<template>
-  <div class="container">
-    <tiny-grid ref="grid" :fetch-data="fetchDataOption" :pager="pagerConfig">
-      <tiny-grid-column
-        field="id"
-        :title="$t('home.roundtable.index')"
-        width="100"
-      ></tiny-grid-column>
-      <tiny-grid-column
-        field="space"
-        :title="$t('home.roundtable.space')"
-        width="200"
-      ></tiny-grid-column>
-      <tiny-grid-column
-        field="pv"
-        :title="$t('home.roundtable.pv')"
-        width="220"
-      ></tiny-grid-column>
-      <tiny-grid-column
-        field="play"
-        :title="$t('home.roundtable.play')"
-        width="200"
-      ></tiny-grid-column>
-      <tiny-grid-column
-        field="page"
-        :title="$t('home.roundtable.page')"
-      ></tiny-grid-column>
-    </tiny-grid>
-  </div>
-</template>
-
-<script lang="ts" setup>
-  import { reactive } from 'vue';
-  import { useI18n } from 'vue-i18n';
-  import {
-    Pager,
-    Grid as TinyGrid,
-    GridColumn as TinyGridColumn,
-  } from '@opentiny/vue';
-
-  const { t } = useI18n();
-
-  const pagerConfig = reactive({
-    component: Pager,
-    attrs: {
-      currentPage: 1,
-      pageSize: 10,
-      pageSizes: [5, 10],
-      total: 0,
-      layout: 'total, prev, pager, next, jumper, sizes',
-    },
-  });
-
-  // 请求数据接口方法
-  async function fetchData(
-    params = {
-      pageIndex: 1,
-      pageSize: 10,
-    }
-  ) {
-    let offset = (params.pageIndex - 1) * params.pageSize;
-    const total = tableData.length;
-    return {
-      result: tableData.slice(offset, offset + params.pageSize),
-      page: { total },
-    };
-  }
-
-  const fetchDataOption = reactive({
-    api: ({ page }: any) => {
-      const { currentPage, pageSize } = page;
-
-      return fetchData({
-        pageIndex: currentPage,
-        pageSize,
-      });
-    },
-  });
-
-  const tableData = [
-    {
-      id: '1',
-      space: '4G',
-      pv: '1767(97.77%)',
-      play: '0.44s',
-      page: '2.7s',
-    },
-    {
-      id: '2',
-      space: '2G',
-      pv: '22(1.77%)',
-      play: '0.43s',
-      page: '1.1s',
-    },
-    {
-      id: '3',
-      space: t('home.round.unknow'),
-      pv: '32(1.77%)',
-      play: '0.44s',
-      page: '1.7s',
-    },
-    {
-      id: '4',
-      space: t('home.round.unknow'),
-      pv: '32(1.77%)',
-      play: '0.44s',
-      page: '1.7s',
-    },
-    {
-      id: '5',
-      space: '3G',
-      pv: '16(0.88%)',
-      play: '0.66s',
-      page: '3.12s',
-    },
-    {
-      id: '6',
-      space: '5G',
-      pv: '1765(97.35%)',
-      play: '0.44s',
-      page: '1.7s',
-    },
-    {
-      id: '7',
-      space: '2G',
-      pv: '32(1.77%)',
-      play: '0.65s',
-      page: '2.92s',
-    },
-  ];
-</script>
-
-<style scoped lang="less">
-  .container {
-    width: inherit;
-  }
-</style>
diff --git a/admin-website/src/main/web/src/views/management/home/components/service.vue b/admin-website/src/main/web/src/views/management/home/components/service.vue
new file mode 100644
index 0000000..2673749
--- /dev/null
+++ b/admin-website/src/main/web/src/views/management/home/components/service.vue
@@ -0,0 +1,182 @@
+<template>
+  <div class="main">
+  <div class="main-title">
+    <span></span>
+    <p>实例列表查询</p>
+  </div>
+  <div class="main-content">
+    <div class="main-content-form">
+      <tiny-form
+         ref="searchForm"
+         :model="state.filterOptions"
+         label-width="100px"
+         class="demo-form">
+        <tiny-row>
+          <tiny-col :span="6">
+            <tiny-form-item label="环境">
+              <tiny-input v-model="state.filterOptions.environment" disabled></tiny-input>
+            </tiny-form-item>
+          </tiny-col>
+          <tiny-col :span="6">
+            <tiny-form-item label="应用">
+              <tiny-input v-model="state.filterOptions.application" disabled></tiny-input>
+            </tiny-form-item>
+          </tiny-col>
+          <tiny-col :span="6">
+            <tiny-form-item label="服务名称">
+              <tiny-select v-model="state.filterOptions.serviceName" :options="state.filterOptions.serviceLists"></tiny-select>
+            </tiny-form-item>
+          </tiny-col>
+        </tiny-row>
+      </tiny-form>
+    </div>
+  </div>
+
+  <div>
+    <tiny-grid :data="state.instanceLists" border :edit-config="{ trigger: 'click', mode: 'cell', showStatus: true }">
+      <tiny-grid-column type="index" width="60"></tiny-grid-column>
+      <tiny-grid-column field="serviceName" title="微服务名称"></tiny-grid-column>
+      <tiny-grid-column field="version" title="版本号"></tiny-grid-column>
+      <tiny-grid-column field="endpoints" title="协议列表"></tiny-grid-column>
+      <tiny-grid-column field="instanceId" title="实例ID"></tiny-grid-column>
+      <tiny-grid-column title="操作" width="150">
+        <template #default="data">
+          <div>
+            <span class="list-operation" @click="downloadLog(data.row.serviceName, data.row.instanceId)">下载日志</span>
+            &nbsp;|&nbsp;
+            <span class="list-operation" @click="downloadMetrics(data.row.serviceName, data.row.instanceId)">下载指标</span>
+          </div>
+        </template>
+      </tiny-grid-column>
+    </tiny-grid>
+  </div>
+  </div>
+</template>
+
+<script setup lang="ts">
+import { Grid as TinyGrid,
+  Form as TinyForm,
+  FormItem as TinyFormItem,
+  Input as TinyInput,
+  Button as TinyButton,
+  Row as TinyRow,
+  Col as TinyCol,
+  GridColumn as TinyGridColumn,
+  Select as TinySelect, Option as TinyOption} from '@opentiny/vue';
+
+import { reactive } from 'vue';
+import { getLogs, getMetrics } from '@/api/problems';
+import { timesHandle } from '@/utils/time';
+
+const state = reactive({
+  filterOptions: {
+    environment: 'Production',
+    application: 'Application',
+    serviceLists: [{value: 'serviceA', label: 'serviceA'}, {value: 'serviceB', label: 'serviceB'}],
+    serviceName: 'serviceA'
+  },
+  instanceLists: [
+     {serviceName: 'serviceA', version: '2.0.0', endpoints: ['rest://localhost:9090'],
+       instanceId: 'instanceId1'},
+     {serviceName: 'serviceB', version: '2.0.0', endpoints: ['rest://localhost:9080'],
+       instanceId: 'instanceId2'}]
+});
+
+const fileHandle = (data:any, type:string) => {
+  const url = window.URL.createObjectURL(new Blob([data], {type: 'text/plain'}))
+  const link = document.createElement('a')
+  link.href = url
+  link.setAttribute('download',type)
+  document.body.appendChild(link)
+  link.click()
+  document.body.removeChild(link)
+  window.URL.revokeObjectURL(url)
+};
+
+const downloadLog = (serviceName: string, instanceId: string) => {
+  const dateStr = timesHandle(new Date(Date.now()), false);
+  const params = {
+    serviceName,
+    timestamp: dateStr,
+    instanceId,
+  }
+  getLogs(params).then((response) => {
+    fileHandle(response,'Log.txt')
+   })
+};
+
+const downloadMetrics = (serviceName: string, instanceId: string) => {
+  const dateStr = timesHandle(new Date(Date.now()), false);
+  const params = {
+    serviceName,
+    timestamp: dateStr,
+    instanceId,
+  }
+  getMetrics(params).then((response) => {
+    fileHandle(response,'Metrics.txt')
+  })
+};
+</script>
+
+<style scoped lang="less"></style>
+
+<style lang="less" scoped>
+.main {
+  &-title {
+    span {
+      display: inline-block;
+      position: relative;
+      border-width: 0px;
+      left: 0px;
+      top: 4px;
+      width: 6px;
+      height: 20px;
+      background: inherit;
+      background-color: rgba(37, 97, 239, 1);
+      border: none;
+      border-radius: 8px;
+      -moz-box-shadow: none;
+      -webkit-box-shadow: none;
+      box-shadow: none;
+    }
+
+    p {
+      margin-left: 10px;
+      display: inline-block;
+      font-weight: 500;
+      font-style: normal;
+      font-size: 18px;
+      color: rgba(51, 51, 51, 0.898039215686275);
+    }
+  }
+
+  &-content {
+    display: flex;
+    width: 70%;
+
+    &-search {
+      margin-left: 20px;
+      width: 100px;
+    }
+
+    &-form {
+      flex: 1;
+    }
+  }
+
+  &-list {
+    width: 95%;
+    height: 80px;
+    background-color: saddlebrown;
+  }
+}
+
+.list-operation {
+  color: #526ecc;
+}
+
+.list-operation:hover {
+  cursor: pointer;
+}
+</style>
+
diff --git a/admin-website/src/main/web/src/views/management/home/index.vue b/admin-website/src/main/web/src/views/management/home/index.vue
index da96e73..070d702 100644
--- a/admin-website/src/main/web/src/views/management/home/index.vue
+++ b/admin-website/src/main/web/src/views/management/home/index.vue
@@ -1,22 +1,14 @@
 <template>
   <div class="container">
-    <Breadcrumb :items="['menu.management', 'menu.management.home']" />
     <div class="contain">
-      <Main></Main>
-      <Curve></Curve>
-      <Falls></Falls>
-      <Round></Round>
-      <Region></Region>
+      <Breadcrumb :items="['menu.management', 'menu.management.home']" />
+      <Service></Service>
     </div>
   </div>
 </template>
 
 <script lang="ts" setup>
-  import Main from './components/main.vue';
-  import Curve from './components/curve.vue';
-  import Falls from './components/falls.vue';
-  import Round from './components/round.vue';
-  import Region from './components/region.vue';
+  import Service from './components/service.vue';
 </script>
 
 <style scoped lang="less">


(servicecomb-fence) 03/04: implement service discovery page

Posted by li...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

liubao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/servicecomb-fence.git

commit a1aab1664fe9457f087e1b8bcb36483d048c0a5d
Author: liubao <bi...@qq.com>
AuthorDate: Tue Aug 20 16:37:40 2024 +0800

    implement service discovery page
---
 .../fence/admin/AdminDiscoveryEndpoint.java        | 89 ++++++++++++++++++++++
 admin-website/src/main/web/src/api/problems.ts     | 15 ++++
 .../views/management/home/components/service.vue   | 79 ++++++++++++++++---
 .../fence/api/admin/AdminDiscoveryService.java     | 38 +++++++++
 .../api/admin/FindServiceInstancesResponse.java    | 35 +++++++++
 .../fence/api/admin/FindServicesResponse.java      | 54 +++++++++++++
 6 files changed, 298 insertions(+), 12 deletions(-)

diff --git a/admin-service/src/main/java/org/apache/servicecomb/fence/admin/AdminDiscoveryEndpoint.java b/admin-service/src/main/java/org/apache/servicecomb/fence/admin/AdminDiscoveryEndpoint.java
new file mode 100644
index 0000000..ab8bfdf
--- /dev/null
+++ b/admin-service/src/main/java/org/apache/servicecomb/fence/admin/AdminDiscoveryEndpoint.java
@@ -0,0 +1,89 @@
+/*
+ * 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.
+ */
+package org.apache.servicecomb.fence.admin;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.stream.Collectors;
+
+import org.apache.servicecomb.config.BootStrapProperties;
+import org.apache.servicecomb.fence.api.admin.AdminDiscoveryService;
+import org.apache.servicecomb.fence.api.admin.FindServiceInstancesResponse;
+import org.apache.servicecomb.fence.api.admin.FindServicesResponse;
+import org.apache.servicecomb.provider.rest.common.RestSchema;
+import org.apache.servicecomb.registry.api.Discovery;
+import org.apache.servicecomb.registry.api.DiscoveryInstance;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.core.env.Environment;
+import org.springframework.util.CollectionUtils;
+
+@RestSchema(schemaId = AdminDiscoveryService.NAME, schemaInterface = AdminDiscoveryService.class)
+public class AdminDiscoveryEndpoint implements AdminDiscoveryService {
+  private List<Discovery<? extends DiscoveryInstance>> discoveryList;
+
+  private final String application;
+
+  private final String environment;
+
+  @Autowired
+  public AdminDiscoveryEndpoint(Environment environment) {
+    this.application = BootStrapProperties.readApplication(environment);
+    this.environment = BootStrapProperties.readServiceEnvironment(environment);
+  }
+
+  @Autowired
+  public void setDiscoveryList(List<Discovery<? extends DiscoveryInstance>> discoveryList) {
+    this.discoveryList = discoveryList;
+  }
+
+  @Override
+  public FindServicesResponse findServices() {
+    List<String> result = new ArrayList<>();
+    for (Discovery<? extends DiscoveryInstance> discovery : discoveryList) {
+      if (!discovery.enabled()) {
+        continue;
+      }
+      List<String> temp = discovery.findServices(application);
+      if (CollectionUtils.isEmpty(temp)) {
+        continue;
+      }
+      result.addAll(temp);
+    }
+    FindServicesResponse response = new FindServicesResponse();
+    response.setEnvironment(environment).setApplication(application)
+        .setServices(result.stream().distinct().collect(Collectors.toList()));
+    return response;
+  }
+
+  @Override
+  public FindServiceInstancesResponse findServiceInstances(String serviceName) {
+    List<DiscoveryInstance> result = new ArrayList<>();
+    for (Discovery<? extends DiscoveryInstance> discovery : discoveryList) {
+      if (!discovery.enabled() || !discovery.enabled(application, serviceName)) {
+        continue;
+      }
+      List<? extends DiscoveryInstance> temp = discovery.findServiceInstances(application, serviceName);
+      if (CollectionUtils.isEmpty(temp)) {
+        continue;
+      }
+      result.addAll(temp);
+    }
+    FindServiceInstancesResponse response = new FindServiceInstancesResponse();
+    response.setInstances(result);
+    return response;
+  }
+}
diff --git a/admin-website/src/main/web/src/api/problems.ts b/admin-website/src/main/web/src/api/problems.ts
index cb6a460..5ebd5e4 100644
--- a/admin-website/src/main/web/src/api/problems.ts
+++ b/admin-website/src/main/web/src/api/problems.ts
@@ -75,3 +75,18 @@ export function getMetrics(params: LogType) {
     params,
   })
 }
+
+export function findServices() {
+  return axios({
+      url:'/api/admin/v1/scb/admin/discovery/findServices',
+  })
+}
+
+export function findServiceInstances(serviceName: string) {
+  let params = {};
+  params.serviceName = serviceName;
+  return axios({
+      url:'/api/admin/v1/scb/admin/discovery/findServiceInstances',
+        params,
+  })
+}
diff --git a/admin-website/src/main/web/src/views/management/home/components/service.vue b/admin-website/src/main/web/src/views/management/home/components/service.vue
index 2673749..eb51181 100644
--- a/admin-website/src/main/web/src/views/management/home/components/service.vue
+++ b/admin-website/src/main/web/src/views/management/home/components/service.vue
@@ -24,7 +24,10 @@
           </tiny-col>
           <tiny-col :span="6">
             <tiny-form-item label="服务名称">
-              <tiny-select v-model="state.filterOptions.serviceName" :options="state.filterOptions.serviceLists"></tiny-select>
+              <div>
+              <tiny-select v-model="state.filterOptions.serviceName"
+              :options="state.filterOptions.serviceLists" @change="handleFindServiceInstances"></tiny-select></div>
+              <div><tiny-icon-refres @click="handleRefreshService"></tiny-icon-refres></div>
             </tiny-form-item>
           </tiny-col>
         </tiny-row>
@@ -39,6 +42,8 @@
       <tiny-grid-column field="version" title="版本号"></tiny-grid-column>
       <tiny-grid-column field="endpoints" title="协议列表"></tiny-grid-column>
       <tiny-grid-column field="instanceId" title="实例ID"></tiny-grid-column>
+      <tiny-grid-column field="registryName" title="注册中心"></tiny-grid-column>
+      <tiny-grid-column field="status" title="状态"></tiny-grid-column>
       <tiny-grid-column title="操作" width="150">
         <template #default="data">
           <div>
@@ -63,25 +68,74 @@ import { Grid as TinyGrid,
   Col as TinyCol,
   GridColumn as TinyGridColumn,
   Select as TinySelect, Option as TinyOption} from '@opentiny/vue';
-
+import { iconRefres } from '@opentiny/vue-icon';
 import { reactive } from 'vue';
-import { getLogs, getMetrics } from '@/api/problems';
+import { findServices, findServiceInstances, getLogs, getMetrics } from '@/api/problems';
 import { timesHandle } from '@/utils/time';
 
+const TinyIconRefres = iconRefres();
+
 const state = reactive({
   filterOptions: {
-    environment: 'Production',
-    application: 'Application',
-    serviceLists: [{value: 'serviceA', label: 'serviceA'}, {value: 'serviceB', label: 'serviceB'}],
-    serviceName: 'serviceA'
+    environment: '',
+    application: '',
+    serviceLists: [],
+    serviceName: ''
   },
-  instanceLists: [
-     {serviceName: 'serviceA', version: '2.0.0', endpoints: ['rest://localhost:9090'],
-       instanceId: 'instanceId1'},
-     {serviceName: 'serviceB', version: '2.0.0', endpoints: ['rest://localhost:9080'],
-       instanceId: 'instanceId2'}]
+  instanceLists: []
 });
 
+const handleRefreshService = ()  => {
+  findServices().then((response) => {
+    let serviceLists = [];
+    response.services.forEach(item => {
+       let temp = {value: '', label: ''};
+       temp.value = item;
+       temp.label = item;
+       serviceLists.push(temp);
+    });
+    state.filterOptions.serviceLists = serviceLists;
+    state.filterOptions.application = response.application;
+    state.filterOptions.environment = response.environment;
+    if(Array.isArray(serviceLists) && serviceLists.length) {
+      state.filterOptions.serviceName = serviceLists[0].value;
+    }
+  })
+};
+
+const handleFindServiceInstances = ()  => {
+  if(!state.filterOptions.serviceName) {
+    return;
+  }
+  findServiceInstances(state.filterOptions.serviceName).then((response) => {
+    state.instanceLists = response.instances;
+  })
+};
+
+const firstInit = async () => {
+  let response = await findServices();
+  const serviceLists = [];
+  response.services.forEach(item => {
+     let temp = {value: '', label: ''};
+     temp.value = item;
+     temp.label = item;
+     serviceLists.push(temp);
+  });
+  state.filterOptions.serviceLists = serviceLists;
+  state.filterOptions.application = response.application;
+  state.filterOptions.environment = response.environment;
+  if(Array.isArray(serviceLists) && serviceLists.length) {
+    state.filterOptions.serviceName = serviceLists[0].value;
+  };
+  if(!state.filterOptions.serviceName) {
+    return;
+  }
+  response = await findServiceInstances(state.filterOptions.serviceName);
+  state.instanceLists = response.instances;
+}
+
+firstInit();
+
 const fileHandle = (data:any, type:string) => {
   const url = window.URL.createObjectURL(new Blob([data], {type: 'text/plain'}))
   const link = document.createElement('a')
@@ -116,6 +170,7 @@ const downloadMetrics = (serviceName: string, instanceId: string) => {
     fileHandle(response,'Metrics.txt')
   })
 };
+
 </script>
 
 <style scoped lang="less"></style>
diff --git a/apis/admin-service-api/src/main/java/org/apache/servicecomb/fence/api/admin/AdminDiscoveryService.java b/apis/admin-service-api/src/main/java/org/apache/servicecomb/fence/api/admin/AdminDiscoveryService.java
new file mode 100644
index 0000000..2f5688a
--- /dev/null
+++ b/apis/admin-service-api/src/main/java/org/apache/servicecomb/fence/api/admin/AdminDiscoveryService.java
@@ -0,0 +1,38 @@
+/*
+ * 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.
+ */
+package org.apache.servicecomb.fence.api.admin;
+
+import jakarta.validation.constraints.NotNull;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.QueryParam;
+
+/**
+ * Discovery Apis for service management.
+ */
+@Path("/v1/scb/admin/discovery")
+public interface AdminDiscoveryService {
+  String NAME = "scb-admin-discovery";
+
+  @Path("/findServices")
+  @GET
+  FindServicesResponse findServices();
+
+  @Path("/findServiceInstances")
+  @GET
+  FindServiceInstancesResponse findServiceInstances(@NotNull @QueryParam("serviceName") String serviceName);
+}
diff --git a/apis/admin-service-api/src/main/java/org/apache/servicecomb/fence/api/admin/FindServiceInstancesResponse.java b/apis/admin-service-api/src/main/java/org/apache/servicecomb/fence/api/admin/FindServiceInstancesResponse.java
new file mode 100644
index 0000000..39e8e3c
--- /dev/null
+++ b/apis/admin-service-api/src/main/java/org/apache/servicecomb/fence/api/admin/FindServiceInstancesResponse.java
@@ -0,0 +1,35 @@
+/*
+ * 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.
+ */
+package org.apache.servicecomb.fence.api.admin;
+
+import java.util.List;
+
+import org.apache.servicecomb.registry.api.DiscoveryInstance;
+
+public class FindServiceInstancesResponse {
+  private List<DiscoveryInstance> instances;
+
+  public List<DiscoveryInstance> getInstances() {
+    return instances;
+  }
+
+  public FindServiceInstancesResponse setInstances(
+      List<DiscoveryInstance> instances) {
+    this.instances = instances;
+    return this;
+  }
+}
diff --git a/apis/admin-service-api/src/main/java/org/apache/servicecomb/fence/api/admin/FindServicesResponse.java b/apis/admin-service-api/src/main/java/org/apache/servicecomb/fence/api/admin/FindServicesResponse.java
new file mode 100644
index 0000000..770cc7f
--- /dev/null
+++ b/apis/admin-service-api/src/main/java/org/apache/servicecomb/fence/api/admin/FindServicesResponse.java
@@ -0,0 +1,54 @@
+/*
+ * 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.
+ */
+package org.apache.servicecomb.fence.api.admin;
+
+import java.util.List;
+
+public class FindServicesResponse {
+  private String environment;
+
+  private String application;
+
+  private List<String> services;
+
+  public String getEnvironment() {
+    return environment;
+  }
+
+  public FindServicesResponse setEnvironment(String environment) {
+    this.environment = environment;
+    return this;
+  }
+
+  public String getApplication() {
+    return application;
+  }
+
+  public FindServicesResponse setApplication(String application) {
+    this.application = application;
+    return this;
+  }
+
+  public List<String> getServices() {
+    return services;
+  }
+
+  public FindServicesResponse setServices(List<String> services) {
+    this.services = services;
+    return this;
+  }
+}